“ gcloud功能部署”部署无法侦听Firestore事件的代码

时间:2019-04-24 17:39:05

标签: google-cloud-functions

当我尝试使用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}

main.py

def print_name(事件,上下文):     value = event [“ value”] [“ fields”] [“ name”] [“ stringValue”]     print(“新名称:” + str(value))

gcloud --version

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事件。

1 个答案:

答案 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}"