重置网关上某条配额限流规则。
接口说明
该接口用于重置网关上某条配额限流规则。注意,只针对于版本大于 2.1.21 的 AI 网关生效;重置将清零规则上消费主体的历史用量。
推荐调用逻辑:
一、先 dryRun 预检检验是否存在规则冲突
-
传 dryRun=true
-
返回含 conflictHash 的冲突预览
二、确认后正式提交
-
无冲突:dryRun=false,overwrite=false
-
有冲突且确认覆盖:dryRun=false,overwrite=true, conflictHash=<上一步返回的值>
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
apig:ResetGatewayQuotaRule |
none |
*Gateway
|
无 | 无 |
请求语法
POST /v1/gateways/{gatewayId}/quota-rules/{ruleId}/reset HTTP/1.1
路径参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| gatewayId |
string |
否 |
网关唯一标识 |
gw-123456 |
| ruleId |
string |
否 |
规则 ID |
qr-d8j7fpmm1hksxxxxxx |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| body |
object |
否 |
请求体内容 |
{'key': 'value'} |
| quotaLimit |
integer |
否 |
重置后周期可用总额度 |
1000 |
| windowAlignment |
string |
否 |
重置周期类型。支持自然周期(windowAlignment=calendar)和自定义周期(windowAlignment=epoch) |
calendar |
| periodType |
string |
否 |
周期类型。自然周期支持按日、周、月统计,取值为 day、week 或 month;自定义周期仅支持按日统计,固定取值为 day |
week |
| periodMultiplier |
integer |
否 |
周期倍数,代表每多少个周期进行配额重置。当规则为自定义周期时返回,最小为 1,最大为 60。 |
1 |
| timezone |
string |
否 |
自然周期对应的时区(UTC+x 格式) |
UTC+8 |
| 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 |
消息内容 |
你好,世界! |
| data |
object |
请求数据内容 |
{'key': 'value'} |
| ruleId |
string |
规则 ID |
qr-d8j7fpmm1hks65xxxx |
| dryRun |
boolean |
是否预检 |
false |
| accepted |
boolean |
本次写请求语义是否可被系统接收,false 常见于冲突未确认覆盖等可重试场景 |
true |
| conflictPreview |
object |
冲突预览 |
|
| totalConflictCount |
integer |
冲突总数 |
20 |
| 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-d82n1g6m1hkm3xxxxxxx |
| consumerName |
string |
消费者名称(现可统一使用 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": "你好,世界!",
"data": {
"ruleId": "qr-d8j7fpmm1hks65xxxx",
"dryRun": false,
"accepted": true,
"conflictPreview": {
"totalConflictCount": 20,
"conflictHash": "f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541fxxxxxxxx",
"items": [
{
"subjectType": "consumer",
"subjectId": "cs-xxx",
"subjectName": "consumer-a",
"consumerId": "cs-d82n1g6m1hkm3xxxxxxx",
"consumerName": "consumer-a",
"conflictType": "calendar",
"conflictPeriodType": "week"
}
]
}
}
}
错误码
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。