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
我不确定这是否是问题所在以及解决方案。所以,我在另一个也有同样问题的项目中尝试了同样的方法。它奏效了。
让我知道这是正确的解决方案,还是靠运气解决的问题:)
我有一个创建 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
我不确定这是否是问题所在以及解决方案。所以,我在另一个也有同样问题的项目中尝试了同样的方法。它奏效了。
让我知道这是正确的解决方案,还是靠运气解决的问题:)