按订阅设置使用量配额

quota 策略允许根据订阅强制实施可续订或有生存期的调用量和/或带宽配额。 超过配额时,调用方将收到 403 Forbidden 响应状态代码,响应中包含 Retry-After 标头,其值为建议的重试间隔(秒)。

若要了解速率限制和配额之间的差异,请参阅速率限制和配额

注意

当服务平台基础计算资源重启时,API Management 可能会在达到配额后的短时间内继续处理请求。

注意

按照策略声明中提供的顺序设置策略的元素和子元素。 详细了解如何设置或编辑 API 管理策略

策略语句

<quota calls="number" bandwidth="kilobytes" renewal-period="seconds">
    <api name="API name" id="API id" calls="number">
        <operation name="operation name" id="operation id" calls="number" />
    </api>
</quota>

属性

属性 说明 需要 默认
bandwidth renewal-period 所指定的时间间隔内允许的最大总字节数(千字节)。 不允许使用策略表达式。 必须指定 calls 和/或 bandwidth 空值
calls renewal-period 所指定的时间间隔内允许的最大总调用数。 不允许使用策略表达式。 必须指定 calls 和/或 bandwidth 空值
renewal-period 固定窗口的长度(以秒为单位),此时间过后配额会重置。 每个周期的开始时间相对于订阅的开始时间进行计算。 当 renewal-period 设置为 0 时,周期设置为无穷大。 不允许使用策略表达式。 空值

元素

元素 说明 必需
api 添加一个或多个此类元素,对产品中的 API 设置调用配额。 产品和 API 的调用配额是分别应用的。 可以通过 nameid 引用 API。 如果同时提供了这两个属性,则将使用 id 并忽略 name
operation 添加一个或多个此类元素,对 API 中的操作设置调用配额。 产品、API 和操作的调用配额是分别应用的。 可以通过 nameid 引用 Operation。 如果同时提供了这两个属性,则将使用 id 并忽略 name

api 属性

属性 说明 需要 默认
name 要对其应用呼叫配额限制的 API 的名称。 必须指定 nameid 不适用
id 要对其应用调用配额限制的 API 的 ID。 必须指定 nameid 空值
bandwidth renewal-period 所指定的时间间隔内允许的最大总字节数(千字节)。 不允许使用策略表达式。 必须指定 calls 和/或 bandwidth 空值
calls renewal-period 所指定的时间间隔内允许的最大总调用数。 不允许使用策略表达式。 必须指定 calls 和/或 bandwidth 空值
renewal-period 固定窗口的长度(以秒为单位),此时间过后配额会重置。 每个周期的开始时间相对于订阅的开始时间进行计算。 当 renewal-period 设置为 0 时,周期设置为无穷大。 不允许使用策略表达式。 空值

操作属性

属性 说明 需要 默认
name 要对其应用调用配额限制的操作的名称。 必须指定 nameid 不适用
id 要对其应用调用配额限制的操作的 ID。 必须指定 nameid 空值
bandwidth renewal-period 所指定的时间间隔内允许的最大总字节数(千字节)。 不允许使用策略表达式。 必须指定 calls 和/或 bandwidth 空值
calls renewal-period 所指定的时间间隔内允许的最大总调用数。 不允许使用策略表达式。 必须指定 calls 和/或 bandwidth 空值
renewal-period 固定窗口的长度(以秒为单位),此时间过后配额会重置。 每个周期的开始时间相对于订阅的开始时间进行计算。 当 renewal-period 设置为 0 时,周期设置为无穷大。 不允许使用策略表达式。 空值

使用情况

使用注意事项

  • 每个策略定义只能使用此策略一次。
  • 此策略仅在使用订阅密钥来访问 API 时应用。

示例

<policies>
    <inbound>
        <base />
        <quota calls="10000" bandwidth="40000" renewal-period="3600" />
    </inbound>
    <outbound>
        <base />
    </outbound>
</policies>

后续步骤

有关使用策略的详细信息,请参阅: