Firebase 函数 - 您已超出部署配额

Dar*_*ski 9 firebase google-cloud-functions

我有一个包含 70 多个函数的 Firebase 函数项目。它在节点 8 上运行。

在 5-7 次完全部署后,我收到一个错误:

You have exceeded your deployment quota, please deploy your functions in batches by using the --only flag, and wait a few minutes before deploying again. Go to https://firebase.google.com/docs/cli/#deploy_specific_functions to learn more

不清楚这是什么原因?我达到了哪个限制?配额什么时候更新?

几分钟后部署不起作用。

Dar*_*ski 12

我已经就 Firebase Community slack 寻求帮助,现在我明白发生了什么。谢谢,@katowulf。

配额在此处描述:https : //firebase.google.com/docs/functions/quotas#quota_limits_for_firebase_cli_deployment

我们有 3 个与部署相关的配额,它们是:

  1. API 调用 (READ) - 每次部署调用 1 次,无论有多少函数
  2. API 调用 (WRITE) - 每个函数调用 1 个
  3. 最长构建时间 - 每个函数几分钟,具体取决于大小

要查看您点击了哪一个,您可以转到配额管理:https : //console.cloud.google.com/projectselector2/projectselector/iam-admin/quotas?service= cloudfunctions.googleapis.com&usage = ALL&supportedpurview =project

就我而言,我3. Max build time达到了每天限制为 12000 秒的配额(默认情况下)。经过一些实验,我注意到一个函数部署增加了大约 70 秒的构建时间(在您的情况下可能是不同的数字!)。因此,12000/70 每天提供大约 170 个功能部署。

在配额管理页面(第二个链接)上,您可以通过Edit Quota选项要求增加任何配额。无需任何额外批准即可获得 36000 秒的构建时间,在我的情况下,这将单个功能的部署数量增加到每天 500 多个。

配额管理员

配额在 UTC-07:00 左右 0:00 重置为 0,我的功能部署到 us-central1。所以一天似乎有一个固定的时间段(它不是最后 24 小时移动窗口)。

对于较大的项目,您不应一次部署整个项目,而应仅部署单个功能,如链接https://firebase.google.com/docs/cli/#deploy_specific_functions 中所述

  • Firebase 是否建议单独部署这些功能?这种方法即使不是不可能,也会使 CI 变得困难。 (8认同)