UpdateGatewayQuotaRule - 编辑FinOps配额规则

更新时间:
复制 MD 格式

编辑网关上某条配额限流规则。

接口说明

该接口用于编辑网关上某条配额规则。注意,只针对于版本大于 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:UpdateGatewayQuotaRule

update

*Gateway

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

请求语法

PUT /v1/gateways/{gatewayId}/quota-rules/{ruleId} HTTP/1.1

路径参数

名称

类型

必填

描述

示例值

gatewayId

string

网关唯一标识

gw-123456

ruleId

string

规则 ID

qr-d8j7fpmm1hks65xxxx

请求参数

名称

类型

必填

描述

示例值

body

object

请求体内容

{'key': 'value'}

addIds

array

新增绑定主体(消费主体)ID 列表

cs-001,cs-002

string

主体 ID

cs-001xxxxx

conflictHash

string

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

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

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

f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541f50xxxxxx

consumerGroupIds deprecated

array

消费者组 ID 列表(已废弃)

group1,group2

deprecated

string

消费者组 ID(已废弃)

consumer-group-001

dryRun

boolean

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

true

overwrite

boolean

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

quotaLimit

integer

修改后的可用总额度

1000

removeIds

array

解绑主体(消费主体)ID 列表

cs003,cs-004

string

主体 ID

cs-003xxxxx

ruleName

string

修改后的规则名称

team-rule

返回参数

名称

类型

描述

示例值

object

Schema of Response

code

string

状态码或错误代码

200, 404, 500

data

object

请求数据内容

{'key': 'value'}

accepted

boolean

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

true

conflictPreview

object

冲突预览

conflictHash

string

冲突的 hash

f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541f50xxxxxx

items

array<object>

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

object

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

conflictPeriodType

string

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

week

conflictType

string

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

calendar

consumerId

string

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

cs-d82n1g6m1hkm375xxxxx

consumerName

string

消费者名称(现可统一使用 subjectName 替代)

consumer-a

subjectId

string

冲突主体 ID

cs-xxx

subjectName

string

冲突主体名称

consumer-a

subjectType

string

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

consumer

totalConflictCount

integer

冲突总数

2

dryRun

boolean

是否预检

true

ruleId

string

规则 ID

qr-xxxxxx

message

string

消息内容

你好,世界!

requestId

string

请求唯一标识

1234567890

示例

正常返回示例

JSON格式

{
  "code": "200, 404, 500",
  "data": {
    "accepted": true,
    "conflictPreview": {
      "conflictHash": "\t\nf8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541f50xxxxxx",
      "items": [
        {
          "conflictPeriodType": "week",
          "conflictType": "calendar",
          "consumerId": "cs-d82n1g6m1hkm375xxxxx",
          "consumerName": "consumer-a",
          "subjectId": "cs-xxx",
          "subjectName": "consumer-a",
          "subjectType": "consumer"
        }
      ],
      "totalConflictCount": 2
    },
    "dryRun": true,
    "ruleId": "qr-xxxxxx"
  },
  "message": "你好,世界!",
  "requestId": "1234567890"
}

错误码

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

变更历史

更多信息,参考变更详情