问题描述
我正在通过this tutorial here用firebase创建API。
我跑步:
firebase deploy
我在命令行上收到此错误:
HTTP错误:400,未找到项目“ 381106441303”的计费帐户。必须启用计费功能才能激活服务“ cloudbuild.googleapis.com,containerregistry.googleapis.com”。
请告诉我如何解决此问题!
解决方法
如果您只想完成一个教程,只需将 package.json
中的节点版本从10更改为8。"engines": {
"node": "8"
}
现在可以使用,但是最终在2021年2月15日之后,将不再允许部署Node.js 8功能。因此,如果要在此日期之后使用云功能,则必须采用Blaze即用即付的计费方案。
,它对我有用:
- 为您的项目启用Billing
- 启用Cloud Build API
- 启用Container Registry API
从Firebase常见问题解答中:
,从2020年8月17日的更新开始,Cloud Functions for Firebase将依赖于一些额外的付费Google服务,因此您必须添加账单,启用Container Registry API和Cloud Storage API才能使用它。
您正在遵循的教程非常古老。 Cloud Functions现在需要一个有效的计费帐户。即使您不希望超出免费限额,也需要添加一个。
另请参阅:
请考虑与该文章的作者联系,告诉他们应该更准确地更新其文章。
,这对我来说很好,您不必付费,因为我正在使用Firebase免费套餐
将 package.json 上的第一次将节点版本从10降级到8
"engines": {
"node": "8"
}
-
firebase部署
-
您将在上面看到 +部署完成!消息
+功能[helloWorld(us-central1)]:成功的更新操作。
-
此我们的中心是我的项目托管区域,根据您的情况可能有所不同
该区域的前缀 [helloWorld ”是我导出的函数名称,可能是您的情况 通过 firebase deploy 命令
从您的终端获取此信息有所不同 -
之后,您托管的项目链接将
https://yourregion-firebaseprojectname.cloudfunctions.net/yourexportedfunctionname
(导出的函数名称),它是helloWorld
,您可以将节点版本从10降低到8,但是您应该将计划升级到“ 大火”,因为它具有完整的免费计划,只有在免费计划
,您可以尝试以下方法:
firebase deploy --only hosting
,
这是调度程序的一个示例,但这在免费帐户中不起作用。必须启用计费功能才能激活服务“ cloudscheduler.googleapis.com”。
import * as functions from 'firebase-functions';
import {db,notificationSentEvent,deviceData} from './init';
export const dailyDelete = functions.pubsub.schedule( '10 1 * * *' ).onRun(context => {
console.log('At 01:10');
})
,
- 转到Firebase控制台
- 转到用法和账单
- 将计划从免费变为随用随付
我也有错误!
修复错误的方法是:转到 https://console.firebase.google.com/project/your_firebase_project/usage/details 网站,然后按照屏幕上的说明进行操作。
然后在 Linux 终端的 Linux 主目录中运行命令:
firebase deploy
它有效!