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