【问题标题】:Deployment Error deploying Cloud Function with Firebase Trigger使用 Firebase 触发器部署 Cloud Function 时出现部署错误
【发布时间】:2021-05-14 07:59:38
【问题描述】:

我正在尝试创建一个云功能,该功能在创建新文档时向用户发送 Firebase 云消息。不知何故,我无法将该功能部署到 Firebase。

这是我的 index.js:

const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);

exports.sendAll = functions.region("europe-west3").firestore
    .document("NewsCard/{docId}")
    .onCreate((snapshot) => {
      const title = snapshot.get("Title");
      const subject = snapshot.get("Text");

      const payload = {
        notification: {
          title: title,
          body: subject,
          sound: "default",
        },
      };

      return admin.messaging().sendToTopic("Announcement", payload);
    });

这是我在输入firebase deploy 时遇到的错误:

✔  functions: Finished running predeploy script.
i  functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i  functions: ensuring required API cloudbuild.googleapis.com is enabled...
✔  functions: required API cloudbuild.googleapis.com is enabled
✔  functions: required API cloudfunctions.googleapis.com is enabled
i  functions: preparing functions directory for uploading...
i  functions: packaged functions (64.26 KB) for uploading
✔  functions: functions folder uploaded successfully
i  functions: updating Node.js 12 function sendAll(europe-west3)...
⚠  functions[sendAll(europe-west3)]: Deployment error.
...
Error: Functions did not deploy properly.

是什么导致了这个问题?我在互联网上的某个地方读到,firestore 路径 .document("NewsCard/{docId}") 可能是错误的。但我不知道用什么代替。

这是我的 Firestore:

【问题讨论】:

    标签: firebase flutter google-cloud-functions firebase-cloud-messaging


    【解决方案1】:

    我自己想出来的。似乎是Node的问题。请参阅#3120 了解更多信息。将 Node 降级到 14 会有所帮助。

    【讨论】:

      最近更新 更多