当我尝试使用gcloud CLI部署一个侦听Firestore事件的小型python脚本时,该脚本无法侦听Firestore事件。如果我使用Web内联UI或Web zip上传,则脚本实际上会侦听Firestore事件。命令行没有显示任何错误。
gcloud beta functions deploy print_name \
--runtime python37 \
--service-account <myprojectid>@appspot.gserviceaccount.com \
--verbosity debug \
--trigger-event providers/cloud.firestore/eventTypes/document.create \
--trigger-resource projects/<myprojectid>/databases/default/documents/Test/{account}
def print_name(事件,上下文): value = event [“ value”] [“ fields”] [“ name”] [“ stringValue”] print(“新名称:” + str(value))
Google Cloud SDK 243.0.0 测试版2019.02.22 bq 2.0.43 核心2019.04.19 gsutil 4.38
该文档非常基本(具有名称字符串字段)。
有什么想法吗?我很好奇gcloud CLI是否存在错误。
内联式Web UI和zip上传器效果很好。我已经尝试了多种变体(例如,删除“ beta”,添加和删除不同的部署参数)。
我希望脚本实际监听Firestore事件。
答案 0 :(得分:0)
触发器资源中的“默认”需要在其周围加上括号。
gcloud beta functions deploy print_name \
--runtime python37 \
--service-account <myprojectid>@appspot.gserviceaccount.com \
--verbosity debug \
--trigger-event providers/cloud.firestore/eventTypes/document.create \
--trigger-resource "projects/<myprojectid>/databases/(default)/documents/Test/{account}"