400 未找到项目的计费帐户。必须启用计费才能激活服务

Hao*_*Hao 41 node.js firebase google-cloud-functions firebase-cli

我在这里通过本教程使用 firebase 创建 API 。

在我运行时:

firebase deploy
Run Code Online (Sandbox Code Playgroud)

我在命令行上收到此错误:

HTTP 错误:400,未找到项目“381106441303”的结算帐户。必须为激活服务“cloudbuild.googleapis.com,containerregistry.googleapis.com”启用计费才能继续。

请告诉我如何解决这个问题!

小智 76

如果你只是想完成一个教程,只需将package.json 中的Node version从 10更改为 8

"engines": {
  "node": "8"
}
Run Code Online (Sandbox Code Playgroud)

现在这将起作用,但最终在 2021 年 2 月 15 日之后将不再允许部署 Node.js 8 功能。因此,如果您想在此日期之后使用云功能,您必须使用 Blaze 即用即付计费计划。


Alb*_*ang 25

如果您只想测试或遵循教程,请参阅答案。

如果要在实际项目中使用,请按照以下步骤操作:

  1. 为您的项目启用计费
  2. 启用Cloud Build API
  3. 启用容器注册表 API

来自 Firebase 常见问题解答:

从 2020 年 8 月 17 日的更新开始,Cloud Functions for Firebase 将依赖一些额外的 Google 付费服务,因此您必须添加计费,启用 Container Registry API 和 Cloud Storage API 才能使用它。

查看更多:云功能定价

编辑:按照这些步骤自动将您的项目计划升级到 Blaze-Pay。- 感谢@Abhimanyu

  • 注意:按照这些步骤,您的项目计划会自动升级到 Blaze-Pay。 (2认同)

Dou*_*son 10

您正在遵循的教程很旧。Cloud Functions 现在需要一个有效的结算帐户。即使您不希望超过免费限额,您也需要添加一个。

也可以看看:

考虑联系那篇文章的作者,告诉他们他们应该更新他们的文章以使其更加准确。


Dee*_*bug 8

它对我来说很好用,您不必付费,我正在使用 firebase 免费套餐

package.json上的第一个节点版本从 10降级到 8

"engines": {
"node": "8"
  }
Run Code Online (Sandbox Code Playgroud)
  1. 火力基地部署

  2. 你会得到+ 部署完成!你会看到上面的消息

    + functions[helloWorld(us-central1)]:更新操作成功。

  3. 这个us-central我的项目托管区域,您的情况可能有所不同

    此区域的前缀 [helloWorld 是我导出的函数名称,您的情况可能有所不同,通过firebase deploy命令从您的终端获取此信息

  4. 之后,您的托管项目链接将是

https://yourregion-firebaseprojectname.cloudfunctions.net/yourexportedfunctionname 
Run Code Online (Sandbox Code Playgroud)

(导出的函数名)即 helloWorld