使用 Firebase 触发器部署 Cloud Function 时出现部署错误

Deployment Error deploying Cloud Function with Firebase Trigger

我正在尝试创建一个云函数,它会在创建新文档时向用户发送一条 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:

我自己想出来了。似乎是 Node.js 的问题。有关详细信息,请参阅 #3120。将 Node 降级到 14 有帮助。