我想解决这个困扰我发展的问题。
当我将一些具有节点12的云函数部署到Firebase项目时,firebase-cli输出如下:
HTTP错误: 400,无法找到项目“PROJECT_ID”的计费帐户。必须启用计费才能激活服务“cloudbuild.googleapis.com,containerregistry.googleapis.com”才能继续进行。
所以我像其他开发者一样向谷歌提出了这个问题-- 堆栈溢出问题。
我将函数目录中的package.json更改为:
"engines": {
"node": "8"
}啊,真灵!但要知道,我正在测试云防火墙触发器,以便使用通配符侦听文档。以下是代码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
// Getting instance of firestore
const db = admin.firestore();
//Test function
exports.writeToFirestore = functions.firestore
.document('users/{userId}')
.onWrite((change, context) => {
const uid = context.params.userId;
const newDoc = change.after.data();
// Reference to userCards inside lawyer doc
const userCardsDoc = db.doc(`lawyers/lawyer/userCards/userCards`);
const newCard = {
uid: uid,
displayName: newDoc.displayName,
whatsApp: newDoc.whatsApp,
picturePath: newDoc.picturePath
};
userCardsDoc.set({
cardsArray: [newCard]
});
});当我更改任何用户文档的数据时,它会触发该函数,但是日志显示如下:原木图像
有人知道这种类型的函数触发器是否与节点8完全无效,我应该允许此项目中的计费帐户部署节点10或最新的,或者问题在我的代码中。
,我尝试使用这个函数,没有外卡,但仍然不能工作!
发布于 2020-11-04 03:48:05
要得到这个问题的答案,您将收到一个错误:Node.js v10.0.0 is a minimum requirement,因为您使用的是Node.js v8。Node.js v8于2019年12月31日被否决,现在的最低要求是Node.js v10。
现在,如果您现在使用的是Node.js版本v10及更高版本,则如果您的计费帐户已禁用或未启用,则无法部署它,你为什么要启用你的账单帐户?
由于计划于2020年8月17日更新其底层架构,Firebase的云功能将依赖一些额外的付费谷歌服务:云构建、集装箱登记处和云存储。这些架构更新将适用于部署到Node.js 10运行时的函数。
https://stackoverflow.com/questions/64580219
复制相似问题