编辑服务
更新时间:2026-09-29
该接口用于编辑指定服务:支持仅修改服务名称的最小更新,或提交完整字段编辑 Model 服务配置与绑定域名。已发布的默认 Model 路由在保存后立即下发数据面。
注意事项:
- 支持两种编辑方式:仅传
serviceId与serviceName时为「仅改名」;提交其它字段时为完整编辑,此时必须提供serviceType。 - 服务类型不支持变更,请求中的
serviceType必须与现有服务一致。 - Model 服务提交非空
modelBackends时必须同时提交modelBackendStrategy。 domainIds传null表示保持不变,传空列表表示解绑全部自定义域名(系统默认域名保留);所选自定义域名必须可绑定,包含 HTTPS 的域名还需具有可用证书。
请求结构
Plain Text
1POST /?action=UpdateService HTTP/1.1
2Host: apigw-control.bj.baidubce.com
3Authorization: authorization string
4
5{
6 "serviceId": serviceId,
7 "serviceName": serviceName,
8 "serviceType": serviceType,
9 "modelScene": modelScene,
10 "modelProtocol": modelProtocol,
11 "modelProtocolRoutes" : [modelProtocolRoute],
12 "modelBasePath": modelBasePath,
13 "modelBasePathStrip": modelBasePathStrip,
14 "modelBackends" : [modelBackend],
15 "modelBackendStrategy": modelBackendStrategy,
16 "fallbackEnabled": fallbackEnabled,
17 "fallbackFirstTokenTimeoutMs": fallbackFirstTokenTimeoutMs,
18 "fallbackTriggerScope": fallbackTriggerScope,
19 "advancedPolicy": {
20 "timeout": timeout,
21 "timeoutTime": timeoutTime,
22 "retries": retries,
23 "attempts": attempts,
24 "perTryTimeout": perTryTimeout,
25 "retryOn" : [retryOn],
26 "httpCodes" : [httpCode]
27 },
28 "domainIds" : [domainId]
29}
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
|---|---|---|---|---|
| serviceId | String | 是 | RequestBody参数 | 服务 ID |
| serviceName | String | 是 | RequestBody参数 | 服务名称 |
| serviceType | String | 否 | RequestBody参数 | 服务类型:HTTP_SERVICE(HTTP 服务)/ MODEL_SERVICE(Model 服务)/ AGENT_SERVICE(Agent 服务);完整编辑时必填,且不可变更 |
| modelScene | String | 否 | RequestBody参数 | 模型场景:TEXT_GENERATION / IMAGE_GENERATION / OTHER / VIDEO_GENERATION / EMBEDDING / RERANK / AUDIO,仅 MODEL_SERVICE 时生效 |
| modelProtocol | String | 否 | RequestBody参数 | Model 服务协议:OPENAI_COMPATIBLE / ANTHROPIC_COMPATIBLE / QIANFAN / CUSTOM_HTTP / CUSTOM_WEBSOCKET / DOUBAO / BAILIAN / ORIGINAL,仅 MODEL_SERVICE 时生效 |
| modelProtocolRoutes | List<ModelProtocolRouteReq> | 否 | RequestBody参数 | Model 服务协议路由列表 |
| modelBasePath | String | 否 | RequestBody参数 | Model 服务 basePath |
| modelBasePathStrip | Boolean | 否 | RequestBody参数 | 转发时是否剥离 basePath |
| modelBackends | List<ModelBackendBindReq> | 否 | RequestBody参数 | Model 服务默认路由的 upstream/fallback 后端绑定 |
| modelBackendStrategy | String | 否 | RequestBody参数 | Model 服务默认路由后端分流策略:SINGLE / MODEL_NAME / WEIGHT |
| fallbackEnabled | Boolean | 否 | RequestBody参数 | 是否启用 Fallback |
| fallbackFirstTokenTimeoutMs | int | 否 | RequestBody参数 | Fallback 首 Token 超时时间,单位毫秒,取值不小于 0 |
| fallbackTriggerScope | String | 否 | RequestBody参数 | Fallback 触发范围,目前仅支持 BACKEND_ERROR_ONLY |
| advancedPolicy | AdvancedPolicyReq | 否 | RequestBody参数 | Service 级默认高级策略,仅 MODEL_SERVICE 支持;不传表示不修改,传空对象表示清空 |
| domainIds | List<String> | 否 | RequestBody参数 | 更新时指定的自定义域名 ID 列表;null 表示保持不变,空列表表示解绑全部自定义域名(系统默认域名保留) |
返回头域
除公共头域,无其它特殊头域。
返回参数
无特殊返回参数。
错误码
| 错误码 | 错误描述 | HTTP 状态码 | 中文解释 |
|---|---|---|---|
| MethodArgumentNotValidException | MethodArgumentNotValidException: serviceId must not be blank | 400 | 必填参数缺失或格式不合法,如 serviceId、serviceName 为空,或完整编辑 Model 服务时未提供 serviceType |
| HttpMessageNotReadable | Http Message Not Readable: JSON parse error | 400 | 请求体不是合法 JSON,无法解析,请检查 JSON 语法和字段类型 |
| ResourcePermissionDeny | Resource permission deny. | 401 | 无权限访问指定资源,请确认服务及所选域名属于当前账号并使用有权限的账号凭证 |
| ParamCheckError | serviceType cannot be changed. | 404 | 服务类型不支持变更,请求中的 serviceType 与现有服务不一致 |
| ParamCheckError | invalid modelProtocol. | 404 | 服务协议配置校验不通过,modelProtocol 取值非法 |
| BackendNotExist | Backend not exist. | 404 | modelBackends 中存在不存在或不属于当前实例的后端 |
| ResourceNotExist | Domain not exist: {domainId} | 404 | domainIds 中存在不存在、不属于当前账号或已绑定其它服务的域名 |
| ServiceNotExist | Service not exist. | 404 | serviceId 对应的服务不存在、不属于当前账号或已删除 |
| ResourceHaveBind | This domain name has already been bound:{serviceId} | 413 | 指定的自定义域名已绑定其它服务,需先在原服务上解绑该域名 |
| ServiceNameRepeat | Service name Repeat. | 413 | 同一实例下服务名称已被占用 |
| HttpMediaTypeException | HttpMediaTypeException: Content-Type 'text/plain' is not supported | 415 | 请求的 Content-Type 不受支持,请使用 application/json |
| DataPlaneSyncFailed | 配置已保存成功,但网关操作失败,请稍后重试或联系技术支持。 | 500 | 配置已写入控制面,但下发数据面失败,请稍后重试或联系技术支持 |
请求示例
Plain Text
1POST /?action=UpdateService HTTP/1.1
2Host: apigw-control.bj.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4
5{
6 "serviceId": "sg-a1b2c3d4",
7 "serviceName": "对话服务",
8 "serviceType": "MODEL_SERVICE",
9 "modelScene": "TEXT_GENERATION",
10 "modelProtocol": "OPENAI_COMPATIBLE",
11 "modelBasePath": "/v1",
12 "modelBasePathStrip": false,
13 "modelBackendStrategy": "SINGLE",
14 "modelBackends": [
15 {
16 "backendId": "bd-a1b2c3d4",
17 "backendRole": "PRIMARY",
18 "weight": 10000
19 }
20 ],
21 "fallbackEnabled": true,
22 "fallbackFirstTokenTimeoutMs": 3000,
23 "fallbackTriggerScope": "BACKEND_ERROR_ONLY",
24 "domainIds": [
25 "dm-a1b2c3d4"
26 ]
27}
返回示例
Plain Text
1HTTP/1.1 200 OK
2x-bce-request-id: 1214cca7-4ad5-451d-9215-71cb844c0a50
3Date: Wed, 03 Dec 2014 06:42:19 GMT
4Content-Type: application/json;charset=UTF-8
5Server: BWS
6
7{}
评价此篇文章
