google-cloud-firestore - Firebase 功能未在创建新文档时触发
问题描述
我编写了一个通过 twilio 发送文本的成功函数。这是我的第二次尝试。我希望它在创建文档时发送文本。我的函数显示在 Web 控制台中并通过了错误检查。检查日志,没有错误或触发记录。我怀疑我的路径是错误的,但我真的不知道问题是什么。当我创建一个文档时,我使用它作为路径:
("rooms/" + myUserId + "/" + "thread")
这是我的 index.js:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const db = admin.firestore()
const twilio = require('twilio');
const accountSid = functions.config().twilio.sid;
const authToken = functions.config().twilio.token;
const client = new twilio(accountSid, authToken);
const twilioNumber = '+xxxxxxxxxx'
exports.sendNewChat =
functions.database.ref('/rooms/{myUserId}/thread')
.onCreate((snapshot, context) => {
const textMessageNewChat = {
body:'New Chat From: ' + sender,
to:'xxxxxxxxxx',
from: twilioNumber
}
return client.messages.create(textMessageNewChat)
});
谢谢!
解决方案
您的问题被标记为 google-cloud-firestore,在您的问题中您提到了创建文档。所以你显然在这里与 Firestore 合作。但是您的函数是作为实时数据库触发器实现的,而不是 Firestore 触发器。您需要构建 withfunctions.firestore
而不是functions.database
. 您应该查看Firestore 触发器的文档以了解如何构建它们。
推荐阅读
- ssl - BizTalk Server 中的 Microsoft MQ 客户端绑定导致与 IBM MQ 的 SSL 连接握手失败
- javascript - 悬停下划线的边距问题
- spring-boot - 具有单个属性文件的 Spring 配置文件属性继承
- java - 如何按降序对 Java ArrayList 进行排序?
- java - 如何使用通用函数解析 json?
- javascript - 如何更改 bootstrap-datetimepicker 的视图以显示格式包含时间的日期?
- c# - 如何使用 NLog 记录所有 EF 查询
- git - 我如何将 git 分支从 dev 合并到 staging 然后生产
- python - 气流的“并行性”和“dag_concurrency”有什么区别
- r - jsonlite::fromJSON 无法正常工作