繁体   English   中英

使用控制台触发 Google Cloud 功能

[英]Triggering Google Cloud function using console

我正在尝试使用谷歌云控制台来测试云功能。 下面是一个片段。

exports.requestCreated = functions.firestore
    .document('users/{userId}/requests/{requestId}')
    .onWrite((change, context) => {
    // execute operation
    });

我尝试了各种 JSON 数据的组合。 例如

{"userId":"Xl86pqOpF9T2MAn12p24OJAfYJW2","requestId":"abc1234"}

但我不断在日志中收到以下声明:

Request created by {userId} 

未从控制台中的 JSON 数据中读取实际的userId 你能帮我吗?

这不是云函数执行的问题。 这是硬编码字符串的问题。

'users/{userId}/requests/{requestId}'是硬编码字符串。 Node.js 不会自动将{userId}替换为变量userId的值。

按照之前的 SO 帖子,使用模板字符串尝试类似这样的操作:

`users/${userId}/requests/${requestId}`

请注意它被反引号 (`) 包围,而不是单引号 (')。

这假定您已经定义了userIdrequestId变量。 您必须像这样重构您的云函数以检索该数据。 请注意,必须从event变量中提取特定变量值。

谢谢你,纳雷迪特。 该函数用于 Firestore,现在的编写方式检查是否在收集请求下创建了新文档。 我尝试按照您的建议替换字符串,但正如您所指出的,它需要定义这些变量。 我不太明白如何重构云函数,因为我使用的语法是 Firestore 文档中建议的事件检测方式。 我的功能目前可以正常工作,但测试它是一个很大的痛苦。 我必须通过我的移动应用程序并执行整个用户流程来测试此功能。 我是 Node.js 的新手,任何指导都将不胜感激。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM