Firestore触发器Python云函数(gen2)- 传入了1个位置参数,但给了2个
我按照示例部署了firestore触发函数on_document_created,你可以在这里查看这个示例:https://firebase.google.com/docs/reference/functions/2nd-gen/python/firebase_functions.firestore_fn#functions
@on_document_created(document="test/{testId}")
def example(event: Event[DocumentSnapshot]):
print("Hello World")
pass
我用这个命令来部署它:
gcloud functions deploy example --gen2 --trigger-event-filters=type=google.cloud.firestore.document.v1.created --trigger-event-filters=database='(default)' --trigger-event-filters-path-pattern=document='' --project test-project --runtime python311 --memory 512 --region europe-west3 --env-vars-file prod.yml
每当在firestore上创建一个文档时,这个函数都会被正确调用,但我在日志中看到以下错误:
TypeError: example() takes 1 positional argument but 2 were given
我搞不清楚自己哪里出错了。 你能帮我一下吗?
谢谢
1 个回答
2
因为你在看 Firebase 的文档,所以你应该使用 Firebase 的命令行工具(CLI)来部署到云函数。这个命令行工具(和 gcloud
不同)会提供 Google Cloud 需要的额外信息。
想了解更多,可以查看 Firebase 的文档,里面有关于 使用 firebase deploy
部署云函数 的内容。