RESOURCE_EXHAUSTED 将 GCS 存储桶链接到 Firebase 时出错 (projects.buckets.addFirebase)

RESOURCE_EXHAUSTED error when linking a GCS bucket to firebase (projects.buckets.addFirebase)

我有一个创建 GCS 存储桶的脚本,link将其发送到 firebase 并在存储桶上应用 firebase 规则。最近,我 运行 遇到了这个错误,它无法 link 将 GCS 存储桶 link 到 firebase。

我正在使用 REST 方法 projects.buckets.addFirebase 将 GCS 存储桶导入到 firebase。 https://firebasestorage.googleapis.com/v1beta/{bucket=projects/*/buckets/*}:addFirebase

API 的响应说资源已用完。

{
  "error": {
    "code": 429,
    "message": "Resource has been exhausted (e.g. check quota).",
    "status": "RESOURCE_EXHAUSTED"
  }
}

所以我检查了 firebase googleapis 的配额,它说每分钟使用量已达到限制。好的,如果是这样,为什么即使在几天不活动后它也不会重置。每次发出请求时我都会收到错误消息。如果是每分钟限制,为什么下一分钟不重置?如果我达到每分钟限制一次,我们以后就不能使用该服务了吗?

我尝试删除 firebase 安全规则(存储和 firestore),但我仍然遇到同样的错误。

我真的不明白错误和它 linked 的配额。我该如何克服这个错误?我现在无法向 firebase 添加任何存储桶。我知道我们可以增加配额,但当配额也超过时,我可能会遇到同样的情况。

当您 运行 超出配额时,您尝试完成的任务(例如部署应用程序、开始新项目或联系 API)通常会失败,您会得到配额错误。在您释放资源(用于分配配额)、重置时间段(用于速率配额)或您寻求并获得 quota increase 之前,任务将继续失败。

超出消息速率配额、超出设备消息速率配额或超出主题消息速率配额可能触发此错误。

error 429 表示您可能违反了 Google's Terms of Service (尤其是在 d. API 限制下)。 当您拨打过多电话时,您可能会被列入黑名单,该名单将在一段时间后到期。 People API 的限制。您需要申请更高的配额。

设置监控以在您接近配额限制时通知您将帮助您避免配额错误。有关监控配额的更多信息,请参阅本出版物后面有关配额指标的 Monitoring and alerting 部分。

Google 并未透露其限制的所有费率,表面上是为了防止规避或允许更灵活的执法。

这里还有一个关于Limits and Quotas on API requests的link。

我终于解决了这个问题。

Firebase 端似乎有一些孤立的存储桶(已被软删除),它们导致了问题。

为了摆脱它们,我不得不发出 API 请求来列出存储桶。 https://firebasestorage.googleapis.com/v1beta/{parent=projects/*}/buckets?pageSize=1000

我假设这清除了孤立的存储桶,之后我能够创建新的 gcs 存储桶并将它们添加到 firebase https://firebasestorage.googleapis.com/v1beta/{bucket=projects/*/buckets/*}:addFirebase

我不确定这是否是问题所在以及解决方案。所以,我在另一个也有同样问题的项目中尝试了同样的方法。它奏效了。

让我知道这是正确的解决方案,还是靠运气解决的问题:)