使用控制台触发谷歌云功能



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

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任何指导将不胜感激。

相关内容

  • 没有找到相关文章

最新更新