[英]Google Cloud PubSub - How to send multiple arguments to the Cloud Function
我一直在使用 Google Cloud PubSub 來觸發 Google Cloud Functions。 到目前為止,我一直在使用一個參數“uuid”,現在我還需要發送開發/生產標志。
以下是 Google App Engine/Django 中的發布者:
publisher = pubsub_v1.PublisherClient()
topic_name = 'projects/project/topics/cloudfunction_topic'
message_to_publish = video.uuid
publisher.publish(topic_name, data=message_to_publish.encode('utf-8'), spam='')
以下是 GCF 中的訂閱者部分:
if os.getenv('GCF', None):
uuid = base64.b64decode(event['data']).decode('utf-8')
我應該如何更改它以便消息中可以有多個 arguments (video.uuid, production/development)?
最簡單的方法(IMO)是創建一個 json 結構,並將其序列化為發送端的 utf-8 字符串,然后將其反序列化回 json 結構
Pub/Sub 消息是 base64 編碼的,因此您可以編寫 json 並將其從 Pub/Sub 發送到雲端 Function,或者您可以從 Pub/Bub 傳遞屬性,即 json 和純文本。
例如,如果您像這樣手動運行 Pub/Sub:
您可以添加屬性:
“測試”這個詞是 base64 但是像這樣的 console.dir(event) 例如......
exports.getData = (event, context) => {...
console.dir(event);
...將在 Cloud Logging 中顯示:
然后很容易解析和使用您的 Cloud Function 中的 Pub/Sub 屬性。顯然,這是 Node,但在 Python 中它會類似。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.