我使用以下方法(源代码)来构建GCP云函数
const functions = require('firebase-functions');
exports.myFunction = functions.firestore
.document('my-collection/{docId}')
.onWrite((change, context) => { /* ... */ });
没有关于如何正确部署到GCP函数的例子,只有Firebase函数。使用常规的gcloud部署像这样的命令将无法工作。
gcloud functions deploy FUNCTION_NAME
--entry-point ENTRY_POINT
--runtime RUNTIME
--trigger-event "providers/cloud.firestore/eventTypes/document.write"
--trigger-resource "projects/YOUR_PROJECT_ID/databases/(default)/documents/messages/{pushId}"
有什么好主意吗?
您可以通过创建您选择的Cloud Firestore触发器来实现所需的效果
- 用于云函数(第一代):
- 在触发器类型字段中选择Cloud Firestore
- 选择事件类型:Write
- 指定要触发此函数的文档,例如:users/{doc_id}
- 检查失败时重试如果您想重试,如果它没有触发复选框
- 点击保存
- 根据您的要求修改您的功能
- 单击Deploy
- 在提供的文档路径上进行修改,在我们的示例中是users/{doc_id}
- 查看云功能日志。您将看到函数被触发。
- 对于云函数(第二代):
-
在HTTPS下,在Authentication字段中,根据您是否希望允许对函数进行未经身份验证的调用,选择一个选项。缺省情况下,需要进行认证。
-
点击Add Eventarc Trigger(将出现一个模态)
-
选择触发类型:第一方
-
选择事件提供商:Cloud Firestore
-
事件:google.firestore.v1.Firestore.Write
-
资源:如果您有文档的确切路径,请选择特定资源,否则您希望使用通配符模式瞄准多个文档选择路径模式
-
检查失败时重试如果没有触发则选择重试
-
点击保存触发
- 单击Next
-
根据需要修改函数
- 单击部署
-
对目标文档进行修改
-
查看云功能日志。您将看到函数被触发。