配额错误问题排查

您可能会由于多种原因而收到配额错误,例如超出配额值或未正确设置项目配额。如果您希望在出现错误时收到提醒,则可以针对特定配额错误创建自定义提醒,如设置配额提醒中所述。

超出速率配额

速率配额会在特定于每个服务的预定义时间间隔后重置。如需了解详情,请参阅特定服务的配额文档。

超出配额值

如果您的项目在使用服务时超过了其最大配额值,Google Cloud 会根据您访问该服务的方式返回错误:

  • 如果在发出 API 请求时超出了配额值,Google Cloud 会返回 HTTP 413 REQUEST ENTITY TOO LARGE 状态代码。请注意,在生产环境中使用 BigQuery 旧版流式 API 时,如果您的 HTTP 请求大于 10 MB,您可能会收到 413 REQUEST ENTITY TOO LARGE 状态代码。如果每秒超过 300 MB,也可能会收到此错误。如需了解详情,请参阅流式插入
  • 如果在发出 HTTP/REST 请求时超出了配额值,Google Cloud 会返回 HTTP 429 TOO MANY REQUESTS 状态代码。
  • 如果超过了 Compute Engine 的配额,Google Cloud 通常会返回 HTTP 403 QUOTA_EXCEEDED 状态代码,无论它是来自 API、HTTP/REST 还是来自 gRPC。如果配额是速率配额,则返回 403 RATE_LIMIT_EXCEEDED
  • 如果在使用 gRPC 时超出配额值,Google Cloud 会返回 ResourceExhausted 错误。此错误的显示方式取决于该服务。
  • 如果在使用 Google Cloud CLI 命令时超出配额值,gcloud CLI 会输出“已超出配额”错误消息并返回退出代码 1
  • 如果您在服务发布期间收到 QUOTA_EXCEEDED 消息,请参阅以下部分。

在服务发布期间超出配额值

Google Cloud 有时会更改资源和 API 的默认配额值。这些更改逐步进行,这意味着在发布新的默认配额期间,Google Cloud 控制台中显示的配额值可能无法反映您可以使用的新配额值。

如果配额发布正在进行,您可能会收到一条错误消息,其内容为 The future limit is the new default quota that will be available after a service rollout completes.。如果您看到此错误消息,则表示引用的配额值和未来值正确无误,即使出现在 Google Cloud 控制台中的内容有所不同。

  • 如需了解详情,请查看审核日志并查找 QUOTA_EXCEEDED 消息。

        "status": {
          ...
          "message": "QUOTA_EXCEEDED",
          "details": [
            {
              ...
              "value": {
                "quotaExceeded": {
                  ...
                  "futureLimit": FUTUREVALUE
                }
              }
            }
          ]
        },
    
  • 如需查看显示当前用量和峰值用量的图表,请前往配额和系统限制页面,然后点击 Monitoring。您可能需要转到表末尾。

  • 如果您需要更多配额,可以申请配额调整

API 错误消息

如果配额项目(也称为结算项目)未正确设置,API 请求可能会返回如下所示的错误消息:

  • User credentials not supported by this API
  • API not enabled in the project
  • No quota project set

这些错误和其他错误通常可以通过设置配额项目来解决。如需了解详情,请参阅配额项目概览

Google Cloud CLI 错误

本部分介绍了开始使用 Google Cloud CLI (gcloud CLI) 时遇到的常见问题。

安装和初始化

如需将 gcloud CLI 用于 Cloud 配额,请务必安装并初始化组件:

  1. 安装 gcloud CLI。

    如果您使用的是 Cloud Shell,则可以跳过此步骤,因为 gcloud CLI 已预安装。

  2. 初始化 gcloud CLI。

  3. 通过运行以下命令安装 Alpha 版组件

    gcloud components install alpha
    

设置配额项目

如果您尚未设置配额项目,gcloud CLI 命令可能会返回如下错误:

PERMISSION_DENIED: Your application is authenticating by using local Application Default Credentials.
The cloudquotas.googleapis.com API requires a quota project, which is not set by default.

如需解决此问题,请在 gcloud CLI 命令中添加 --billing-project 标志以明确设置配额项目,或重新运行 gcloud config set billing/quota_project CURRENT_PROJECT 以将配额项目设置为当前项目。

详情请参阅以下内容:

更新 gcloud CLI 组件

如果您收到配额命令包含 Invalid choice 的错误消息,则可能是您安装了旧版 gcloud CLI。使用以下命令更新 gcloud CLI 组件:

gcloud components update

如需详细了解 gcloud alpha quotas 命令和标志,请参阅 Google Cloud CLI 参考文档中的 gcloud alpha quotas 部分。