由 Pub Sub 触发的 Cloud Function 未发布预期消息
Posted
技术标签:
【中文标题】由 Pub Sub 触发的 Cloud Function 未发布预期消息【英文标题】:Cloud Function triggered by Pub Sub doesn't publish expected message 【发布时间】:2021-09-09 06:54:58 【问题描述】:我有以下谷歌云功能:
def run_msg(event, context):
print(event["data"])
url = 'google_chat_hook'
bot_message =
'text' : ''.format(event["data"])
message_headers = 'Content-Type': 'application/json; charset=UTF-8'
http_obj = Http()
response = http_obj.request(
uri=url,
method='POST',
headers=message_headers,
body=dumps(bot_message),
)
当我使用以下触发事件 "data": "message": "test"
直接从云函数接口测试函数时,我在 google 聊天中发布了正确的消息 => "message": "test"
但是当我从 pub sub 发布消息时手动我在谷歌聊天iB7Im1lc3NhZ2UiOiAibXNnX2Nvb2wifX
上发布了以下类型的东西@
我不明白这里发生了什么。
【问题讨论】:
pubsub 发布的数据是 base64 编码的 【参考方案1】:只需将示例代码复制粘贴到the documentation
base64.b64decode(event['data']).decode('utf-8')
瞧!它是base64编码的。解码,你会看到!
【讨论】:
以上是关于由 Pub Sub 触发的 Cloud Function 未发布预期消息的主要内容,如果未能解决你的问题,请参考以下文章
使用 Pub/Sub 消息触发 Cloud Composer DAG
访问 Google Cloud Storage 触发事件“Pub/Sub”?
有没有办法重新触发 Cloud Storage 的 Pub/Sub 通知
从 Google Cloud Run 托管应用程序触发的 Pub/Sub 消息需要很长时间