管理使用方配额

本页描述如何使用 Service Consumer Management API 来查看和替换服务的各个使用者强制实施的配额限制。

确保熟悉服务配额模型,以更好地理解本教程中使用的术语。

如要针对 Service Infrastructure API 进行编程,建议您使用我们提供的某个客户端库。如需试用 API,您可以按照本指南中的说明进行操作,并使用 curl 命令测试 API,而无需设置完整的应用开发环境。

显示服务配额

在本教程中,我们将使用一个名为 consumer-project-id 的项目和一个名为 myservice.appspot.com 的服务。在每个 gcurl 命令中,替换您自己感兴趣的服务和使用者项目。

如需使用 gcurl,请先使用身份验证令牌运行以下 alias 命令:

alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'

如需了解详情,请参阅使用入门

如需要查看适用于特定使用者的所有指标的所有配额限制,请使用以下方法:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics

该调用以服务定义的指标列表进行响应,每个响应都包含指标的限制列表,这些指标适用于该使用者、这些限制的值以及任何覆盖。以下是示例响应:

{
  "metrics": [
    {
      "name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests",
      "metric": "airport_requests"
      "displayName": "Airport Requests"
      "consumerQuotaLimits": [
        {
          "name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests/limits/%2Fmin%2Fproject",
          "metric": "airport_requests",
          "unit": "1/min/{project}",
          "quotaBuckets": [
            {
              "effectiveLimit": "5",
              "defaultLimit": "5",
            }
          ]
        }
      ],
    }
  ]
}

响应中的每个指标都有一个名称字段;要仅检查该指标而不是所有指标的配额设置,请在网址中使用其名称:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}

同样,指标中的每个限制都有一个名称字段;要仅检查该指标的限制而不是某个指标或所有指标的所有限制的配额设置,请在网址中使用其名称:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}

应用生产者替换

服务的所有者或管理员可以将生产者替换应用于特定消费者的特定限制,以增加该限制的配额。

如要确定限制,请首先使用上述方法之一来查找感兴趣的配额限制,然后使用其名称字段对其应用生产者替换:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "12345"} }'

此调用可用于应用新替换或将现有替换更新为新值。如要授予限制无限配额,请使用“-1”作为替代值。

如果调用成功,则在配额更改传播到后端系统时,它将返回一个操作标识符,代表服务器上正在进行的工作:

{
  "name": "operations/quf.92accba3-6530-4fc1-9a95-c1280d48a6b7"
}

如要检查操作进度,请使用其名称:

gcurl https://serviceconsumermanagement.googleapis.com/v1/{name}

当此调用以包含“done”:true 的消息响应时,则该操作完成。如果操作失败,该消息将包含错误详情。

您还可以通过在特定限制上重复原始的获取调用来检查是否已应用更改。现在,该限制应具有一个额外的“producerOverride”字段。

强制更改大幅配额

如果一个替换会导致强制配额减少超过 10%,则将拒绝该调用,这是一种安全措施,可避免意外地过快降低配额。如需忽略此限制,请使用 force 标志:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "0"}, "force": true}'

应用区域或地区配额替换

有些配额限制是按每个区域或每个地区执行的;这由限制单位中的 /{region}或 /{zone}网络名片来指示。

对此类限制应用替换值会更改每个区域或地区的基本配额。如要仅更改特定区域或地区的配额,请使用位置字段:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "135", "dimensions": {"region": "asia-south1"} } }'