更新消费者
更新时间:2026-04-24
接口描述
本接口用于编辑指定消费者的配置,支持修改描述、授权路由、Token/请求次数配额及重置周期、凭证(新增/轮换/删除)、凭证位置、标签等。所有字段均为可选,不传表示不修改该字段。
注意事项
useV2必须传true;credentialOp与credentialLocation仅在useV2=true时支持。unlimitedQuota=false时totalQuota必填且须 ≥ 0;unlimitedRequestQuota=false时totalRequestQuota必填且须 > 0。quotaEffectMode/requestQuotaEffectMode控制配额变更的生效时机:immediate(立即同步余量与上限,默认)、next_reset(仅改上限,下次重置后余量才变)。tags语义:不传 = 不修改;[]= 清空所有标签;非空数组 = 覆盖替换;srcProduct=agentos的消费者被限制必须保留非空userName标签。credentialOp.action可选值:add(新增凭证)、rotate(轮换凭证,需identityId)、delete(删除凭证,需identityId);inHeader与inQuery不能同时为true。
请求结构
Plain Text
1PUT /v1/aigw/{instanceId}/consumer/{consumerID} HTTP/1.1
2Host: aigw.bj.baidubce.com
3X-Region: bj
4Authorization: authorization string
5Content-Type: application/json
6
7{
8 "useV2": true,
9 "description": "更新后的消费者描述",
10 "routeNames": ["route-001", "route-003"],
11 "unlimitedQuota": false,
12 "totalQuota": 5000,
13 "quotaEffectMode": "immediate",
14 "quotaResetType": "daily",
15 "unlimitedRequestQuota": false,
16 "totalRequestQuota": 100,
17 "requestQuotaResetType": "weekly",
18 "requestQuotaResetWeekday": 1,
19 "tags": [{"tagKey": "env", "tagValue": "prod"}]
20}
请求头域
除公共头域外,还需传入以下头域:
| 参数名称 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| X-Region | String | 是 | 地域代码,如 bj、gz、su 等 |
请求参数
| 参数名称 | 类型 | 是否必选 | 参数位置 | 描述 |
|---|---|---|---|---|
| instanceId | String | 是 | URL参数 | AI 网关实例 ID |
| consumerID | String | 是 | URL参数 | 消费者 ID |
| useV2 | Boolean | 是 | RequestBody参数 | 是否启用 2.0 凭证管理,必须为 true |
| description | String | 否 | RequestBody参数 | 消费者描述,最多 255 个字符 |
| routeNames | List<String> | 否 | RequestBody参数 | 授权路由列表;传入即覆盖已有授权范围 |
| credentialOp | CredentialOp | 否 | RequestBody参数 | 凭证操作;不传表示不操作凭证 |
| credentialLocation | CredentialLocation | 否 | RequestBody参数 | 消费者级凭证位置默认配置 |
| unlimitedQuota | Boolean | 否 | RequestBody参数 | 是否不限 Token 配额;为 false 时 totalQuota 必填 |
| totalQuota | Integer | 条件必选 | RequestBody参数 | Token 配额总量,unlimitedQuota=false 时必填且须 ≥ 0 |
| quotaEffectMode | String | 否 | RequestBody参数 | Token 配额变更生效时机:immediate(默认)、next_reset |
| quotaResetType | String | 否 | RequestBody参数 | Token 配额重置周期,可选值:none/daily/weekly/monthly;不传表示不修改 |
| quotaResetDay | Integer | 条件必选 | RequestBody参数 | 每月重置日(1-31),quotaResetType=monthly 时必填 |
| quotaResetWeekday | Integer | 条件必选 | RequestBody参数 | 每周重置星期(0=周日,…,6=周六),quotaResetType=weekly 时必填 |
| quotaResetHour | Integer | 否 | RequestBody参数 | 重置时刻小时(0-23,CST) |
| quotaResetMinute | Integer | 否 | RequestBody参数 | 重置时刻分钟(0-59) |
| unlimitedRequestQuota | Boolean | 否 | RequestBody参数 | 是否不限请求次数配额;为 false 时 totalRequestQuota 必填 |
| totalRequestQuota | Integer | 条件必选 | RequestBody参数 | 请求次数配额总量,unlimitedRequestQuota=false 时必填且须 > 0 |
| requestQuotaEffectMode | String | 否 | RequestBody参数 | 请求次数配额变更生效时机,语义同 quotaEffectMode |
| requestQuotaResetType | String | 否 | RequestBody参数 | 请求次数配额重置周期,取值同 quotaResetType;不传表示不修改 |
| requestQuotaResetDay | Integer | 条件必选 | RequestBody参数 | 每月重置日(1-31),requestQuotaResetType=monthly 时必填 |
| requestQuotaResetWeekday | Integer | 条件必选 | RequestBody参数 | 每周重置星期(0=周日,…,6=周六),requestQuotaResetType=weekly 时必填 |
| requestQuotaResetHour | Integer | 否 | RequestBody参数 | 重置时刻小时(0-23,CST) |
| requestQuotaResetMinute | Integer | 否 | RequestBody参数 | 重置时刻分钟(0-59) |
| tags | List<Tag> | 否 | RequestBody参数 | 标签列表:不传=不修改,[]=清空,非空数组=覆盖替换 |
CredentialOp 字段说明
| 参数名称 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| action | String | 是 | 操作类型:add(新增)、rotate(轮换)、delete(删除) |
| identityId | Long | 条件必选 | 凭证 ID,rotate/delete 时必填 |
| credential | Credential | 条件必选 | 凭证内容,add/rotate 时必填;字段同创建接口的 credential |
Credential 字段说明
| 参数名称 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| name | String | 否 | 凭证名称;不传时系统自动生成唯一名称 |
| description | String | 否 | 凭证描述 |
| generateMode | String | 否 | 生成方式:auto(默认)/ custom |
| value | String | 条件必选 | 自定义凭证明文,generateMode=custom 时必填 |
| inHeader | Boolean | 二选一 | 是否通过 Header 传递,与 inQuery 不能同时为 true |
| inQuery | Boolean | 二选一 | 是否通过 Query 传递,与 inHeader 不能同时为 true |
| keyNames | List<String> | 是 | Header/Query 的 key 名列表 |
CredentialLocation 字段说明
| 参数名称 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| inHeader | Boolean | 二选一 | 是否通过 Header 传递;与 inQuery 不能同时为 true,也不能同时为 false |
| inQuery | Boolean | 二选一 | 是否通过 Query 传递;与 inHeader 不能同时为 true,也不能同时为 false |
| keyNames | List<String> | 是 | Header/Query 的 key 名列表 |
Tag 字段说明
| 参数名称 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| tagKey | String | 是 | 标签键 |
| tagValue | String | 是 | 标签值 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
编辑操作无业务数据返回。
| 参数名称 | 类型 | 描述 |
|---|---|---|
| result | Null | 编辑操作无返回数据 |
请求示例
Plain Text
1更新配额:限额 5000 token 每日重置,100 次请求每周一重置
2PUT http://aigw.bj.baidubce.com/v1/aigw/i-a1b2c3d4/consumer/cs-001
3Host: aigw.bj.baidubce.com
4X-Region: bj
5Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2026-04-23T04:17:29Z/3600/host;x-bce-date/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
6Content-Type: application/json
7
8{
9 "useV2": true,
10 "unlimitedQuota": false,
11 "totalQuota": 5000,
12 "quotaEffectMode": "immediate",
13 "quotaResetType": "daily",
14 "quotaResetHour": 0,
15 "quotaResetMinute": 0,
16 "unlimitedRequestQuota": false,
17 "totalRequestQuota": 100,
18 "requestQuotaResetType": "weekly",
19 "requestQuotaResetWeekday": 1,
20 "requestQuotaResetHour": 0,
21 "requestQuotaResetMinute": 0
22}
Plain Text
1追加凭证
2PUT http://aigw.bj.baidubce.com/v1/aigw/i-a1b2c3d4/consumer/cs-001
3
4{
5 "useV2": true,
6 "credentialOp": {
7 "action": "add",
8 "credential": {
9 "name": "c2-auto-key",
10 "generateMode": "auto",
11 "inHeader": true,
12 "inQuery": false,
13 "keyNames": ["Authorization"]
14 }
15 }
16}
Plain Text
1轮换凭证
2PUT http://aigw.bj.baidubce.com/v1/aigw/i-a1b2c3d4/consumer/cs-001
3
4{
5 "useV2": true,
6 "credentialOp": {
7 "action": "rotate",
8 "identityId": 18,
9 "credential": {"name": "c2-rotated-key", "generateMode": "auto"}
10 }
11}
Plain Text
1删除凭证
2PUT http://aigw.bj.baidubce.com/v1/aigw/i-a1b2c3d4/consumer/cs-001
3
4{
5 "useV2": true,
6 "credentialOp": {"action": "delete", "identityId": 18}
7}
Plain Text
1仅更新标签
2PUT http://aigw.bj.baidubce.com/v1/aigw/i-a1b2c3d4/consumer/cs-001
3
4{
5 "useV2": true,
6 "tags": [{"tagKey": "env", "tagValue": "prod"}]
7}
响应示例
Plain Text
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3x-bce-request-id: d8752367-38e8-45e4-b4c7-e53be3137ce5
4
5null
评价此篇文章
