Firebase Function在创建新文档时不会触发

时间:2019-02-05 14:30:36

标签: google-cloud-firestore google-cloud-functions

我编写了一个成功的函数,该函数通过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)

    });

谢谢!

2 个答案:

答案 0 :(得分:1)

您的问题被标记为google-cloud-firestore,在您的问题中,您提到创建文档。因此,您显然正在与Firestore合作。但是您的功能是作为实时数据库触发器而不是Firestore触发器实现的。您需要使用functions.firestore而不是functions.database进行构建。您应该查看Firestore triggers的文档以了解如何构建它们。

答案 1 :(得分:0)

我陷入了同样的问题。在花费大量时间后,发现在Firebase上部署后,firebase触发功能正在执行。