iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 30
1

現在慢慢很多的雲服務都希望是能夠真有需要觸發條件才去做動作,除了不用大量等待的時間外也更是節省成本,這類應用很適合給要大量傳輸而且無須受到排程時間綁定的資料來做執行.
而GCP剛好就有這類服務涵蓋了低延遲還有高擴充特性的推送外,並且還支援有多對多非同步的訊息資料來做傳送.

沒錯中間服務就是本次的主角Cloud Pub/Sub,從左邊能支援Input的資料服務類型經過Pub/Sub後在Output到右方
https://ithelp.ithome.com.tw/upload/images/20181030/200254810s6S4WyO8o.png

運作模式為推播者可以新增一個主題如Garytopic,對此主題擁有一個或多個訂閱者來對應此Garytopic,而推播者就可以傳送訊息或資料給指定的主題如就叫Garytopic,而對應到的訂閱就會把資料或是訊息傳給訂閱者。如下圖所示:
https://ithelp.ithome.com.tw/upload/images/20181030/20025481zB1NCIE2Y3.png

有了基本觀念我們就來簡單做示範吧!
就是它發佈/訂閱Cloud Pub/Sub服務選到主題
https://ithelp.ithome.com.tw/upload/images/20181030/20025481OrQpaomuCe.png

來新建一下主題
https://ithelp.ithome.com.tw/upload/images/20181030/20025481lekfmFJW32.png

完整的路徑都是預設只要取最後/主題名稱就好
https://ithelp.ithome.com.tw/upload/images/20181030/20025481MM9tgt2pCP.png

OK,設定好了,不過還沒有剛剛說了老半天的訂閱者
https://ithelp.ithome.com.tw/upload/images/20181030/20025481JFjsIFmDZg.png

建立一個訂閱者Tom,並透過自行提取資料的方式,後面的保留時間10-600s自行決定,時間期限到了就會移除你所發佈的訊息資料,自行決定
https://ithelp.ithome.com.tw/upload/images/20181030/20025481WM6p7lm5RI.png

OK,建立訂閱者完成
https://ithelp.ithome.com.tw/upload/images/20181030/20025481ZzcfhmIFve.png

選到剛剛建立的主題來發佈一下訊息
https://ithelp.ithome.com.tw/upload/images/20181030/20025481tXhQtAw5Kc.png

自訂訊息內容後就傳送
https://ithelp.ithome.com.tw/upload/images/20181030/20025481TawYVVIuNB.png

OK,這時候要開啟gcloud shell
gcloud pubsub subscriptions pull --auto-ack tom(你自己的訂閱者名稱)
就可以看到剛剛除送過來的訊息內容了
https://ithelp.ithome.com.tw/upload/images/20181030/20025481KQDPgQTxEw.png

這次我們在試試從Cloud Storage匯入看看
https://ithelp.ithome.com.tw/upload/images/20181030/20025481Olm1NMNXsM.png

OK,匯入的過程需要透過Dataflow服務來轉換csv-->text
https://ithelp.ithome.com.tw/upload/images/20181030/20025481WXVDmtoDVB.png

我就用最近一次的帳單csv來作為匯入的範例
https://ithelp.ithome.com.tw/upload/images/20181030/20025481nLZatHxBB9.png

範本有很多,來源就是從GCS text(Storage)到Pub/Sub,中間的Input / Output記得路徑打對,還有一個暫存快取的位置我另建了一個Bucket/folder作為此暫存區
https://ithelp.ithome.com.tw/upload/images/20181030/20025481uUpdcXribe.png

如果都沒有問題就會開始執行整個流程
https://ithelp.ithome.com.tw/upload/images/20181030/20025481qxJr10wuaR.png

OK,已經建立完成
https://ithelp.ithome.com.tw/upload/images/20181030/200254816TUlsbnKxH.png

知道我為何前面一直強調輸出入的路徑嗎!有看到紅色失敗..就是耍笨的代價
https://ithelp.ithome.com.tw/upload/images/20181030/200254813dYmyc2CA9.png

OK,訂閱者在手動撈取一次就看到了剛剛丟過來的訊息....2018-10-28XXXX
https://ithelp.ithome.com.tw/upload/images/20181030/20025481HNAdN87tpn.png

好了,今天的示範就先到這裡結束,各位看到這辛苦的大大們再會啦!881


上一篇
需要指令編寫管理 GCP 何須安裝一堆命令管理工具,Cloud Shell 幫你解決
系列文
谷哥 Google Cloud Platform 勇者的試煉30

尚未有邦友留言

立即登入留言