AddGatewayQuotaRule - 新增FinOps配额规则

更新时间:
复制 MD 格式

新增网关配额限流规则。

接口说明

该接口用于对 AI 网关增加基于消费者或消费者组的配额规则。注意,只针对于版本大于 2.1.21 的 AI 网关生效。

说明

推荐调用逻辑:

  • 一、先 dryRun 预检检验是否存在规则冲突

    • 传 dryRun=true

    • 返回含 conflictHash 的冲突预览

  • 二、确认后正式提交

    • 无冲突:dryRun=false,overwrite=false

    • 有冲突且确认覆盖:dryRun=false,overwrite=true, conflictHash=<上一步返回的值>

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

apig:AddGatewayQuotaRule

none

*Gateway

acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}

请求语法

POST /v1/gateways/{gatewayId}/quota-rules HTTP/1.1

路径参数

名称

类型

必填

描述

示例值

gatewayId

string

网关唯一标识

gw-d8ki1xxxxxxxxxxxxxxx

请求参数

名称

类型

必填

描述

示例值

body

object

请求体内容

{'key': 'value'}

ruleName

string

规则名称

team-rule

quotaDimension

string

配额维度/限制类型,目前支持 token、credit

枚举值:

  • credit :

    按 Credits 消耗计量的配额限流

  • token :

    按 Token 数计量的配额限流

token

quotaLimit

integer

周期可用总额度(限额)

1000

windowAlignment

string

重置周期类型。支持自然周期(windowAlignment=calendar)和自定义周期(windowAlignment=epoch)

calendar

periodType

string

周期类型。自然周期支持按日、周、月统计,取值为 day、week 或 month;自定义周期仅支持按日统计,固定取值为 day

枚举值:

  • week :

    自然周

  • month :

    自然月

  • day :

    自然日

week

periodMultiplier

integer

周期倍数。该参数针对自定义周期规则

10

timezone

string

自然周期对应的时区(UTC+x 格式)

UTC+8

subjectType

string

规则主体类型。consumer 代表消费者;consumer_group 代表消费者组。不传时默认为 consumer。

consumer_group

consumerGroupIds

array

绑定规则的消费者组 ID 列表。

group1,group2

string

消费者组 ID

consumer-group-001

consumerIds

array

绑定规则的消费者 ID 列表。单次最多可操作 1000 个消费者

1001,1002,1003

string

消费者 ID

cs-xxxxxx

dryRun

boolean

是否仅预检(预检不下发实际配置),用于检查绑定的消费主体上是否存在冲突的规则(同一消费主体不能配置两个相同周期的自然周期配额,例如已有自然日配额的消费主体不能再新增一个自然日配额规则)

false

overwrite

boolean

冲突时是否允许覆盖。注意如果选择允许覆盖,冲突主体(消费者或消费者组)会从旧规则解绑并绑定到新规则

false

conflictHash

string

冲突快照哈希,用于“确认覆盖时防并发脏覆盖”。通过先执行 dryRun=true 在返回数据提取。

当以下情况不需要填写:没有冲突;只是 dryRun=true 预检;overwrite=false,即不确认覆盖。

当当 dryRun = false 且 overwrite=true 时不带改参数或者该参数过期不匹配,后端会返回:accepted=false 并带新的冲突预览,需要重新执行 dryrun 确认新的冲突。

f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541fxxxxxxxx

返回参数

名称

类型

描述

示例值

object

Schema of Response

requestId

string

请求唯一标识

1234567890

code

string

状态码或错误代码

200, 404, 500

message

string

消息内容

success

data

object

请求数据内容

{'key': 'value'}

ruleId

string

规则 ID

qr-xxxxx

dryRun

boolean

是否预检

false

accepted

boolean

本次写请求语义是否可被系统接收,false 常见于冲突未确认覆盖等可重试场景

true

conflictPreview

object

冲突预览

totalConflictCount

integer

冲突总数

2

conflictHash

string

冲突的 hash

f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541fxxxxxxxx

items

array<object>

冲突的主体(消费者或消费者组)列表

object

冲突的主体(消费者或消费者组)详情

subjectType

string

冲突主体类型,取值为 consumer 或 consumer_group。

consumer

subjectId

string

冲突主体 ID

cs-xxx

subjectName

string

冲突主体名称

consumer-a

consumerId

string

冲突消费者 ID(现可统一使用 subjectId 替代)

cs-xxxxxx

consumerName

string

冲突消费者 ID(现可统一使用 subjectName 替代)

consumer-a

conflictType

string

消费主体上已有冲突规则的类型。conflictType = "calendar"表示消费主体已有冲突规则为自然周期;conflictType = "epoch"表示已有冲突规则为自定义周期

calendar

conflictPeriodType

string

消费主体上已有冲突规则的周期类型。conflictPeriodType = "day"/"week"/"month"分别表示消费主体已有冲突规则的周期为日/周/月

week

示例

正常返回示例

JSON格式

{
  "requestId": "1234567890",
  "code": "200, 404, 500",
  "message": "success",
  "data": {
    "ruleId": "qr-xxxxx",
    "dryRun": false,
    "accepted": true,
    "conflictPreview": {
      "totalConflictCount": 2,
      "conflictHash": "f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541fxxxxxxxx",
      "items": [
        {
          "subjectType": "consumer",
          "subjectId": "cs-xxx",
          "subjectName": "consumer-a",
          "consumerId": "cs-xxxxxx",
          "consumerName": "consumer-a",
          "conflictType": "calendar",
          "conflictPeriodType": "week"
        }
      ]
    }
  }
}

错误码

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情