创建自定义插件
更新时间:2026-09-20
该接口用于为指定网关实例创建自定义 ExtProc 插件,配置外部处理器 endpoint、集群类型、连接超时、负载均衡和 DNS 等信息,并设置执行阶段、执行优先级及版本信息。创建后系统会自动生成一条 Disable 状态的实例级绑定,不会自动启用或下发该插件。
注意事项:
config必须使用有效 YAML;endpoints至少包含一项,每个 endpoint 必须提供非空address和 1~65535 的port。pluginPhase默认AUTHN;executionPriority默认 0,取值为 0~10000 且必须为 100 的整数倍。cluster_type、connect_timeout和lb_policy未填写时分别默认为STATIC、5s和ROUND_ROBIN。
请求结构
Plain Text
1POST /?action=CreateCustomPlugin HTTP/1.1
2Host: bcc.bj.baidubce.com
3Authorization: authorization string
4
5{
6 "name": name,
7 "instanceId": instanceId,
8 "config": config,
9 "pluginPhase": pluginPhase,
10 "executionPriority": executionPriority,
11 "description": description,
12 "version": version,
13 "versionDescription": versionDescription
14}
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
|---|---|---|---|---|
| name | String | 是 | RequestBody参数 | 插件名称 |
| instanceId | String | 是 | RequestBody参数 | 网关实例 ID |
| config | String | 是 | RequestBody参数 | 插件配置 |
| pluginPhase | String | 否 | RequestBody参数 | 插件阶段 |
| executionPriority | int | 否 | RequestBody参数 | 执行优先级 |
| description | String | 否 | RequestBody参数 | 插件描述 |
| version | String | 否 | RequestBody参数 | 插件版本 |
| versionDescription | String | 否 | RequestBody参数 | 版本描述 |
返回头域
除公共头域,无其它特殊头域。
返回参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| pluginReleaseId | String | 插件 Release ID |
错误码
| 错误码 | 错误描述 | HTTP状态码 | 中文解释 |
|---|---|---|---|
| MethodArgumentNotValidException | MethodArgumentNotValidException: name must not be blank | 400 | 必填参数缺失或格式不合法,name 不能为空 |
| HttpMessageNotReadable | Http Message Not Readable: JSON parse error | 400 | 请求体不是合法 JSON,无法解析,请检查 JSON 语法和字段类型 |
| ResourcePermissionDeny | Resource permission deny. | 401 | 无权限访问指定资源,请确认使用正确的账号凭证且资源属于当前账号 |
| InstanceNotExist | Instance not exist. | 404 | 实例不存在、不属于当前账号或已释放 |
| HttpMediaTypeException | HttpMediaTypeException: Content-Type 'text/plain' is not supported | 415 | 请求的 Content-Type 不受支持,请使用 application/json |
| DataPlaneSyncFailed | 配置已保存成功,但网关操作失败,请稍后重试或联系技术支持。 | 500 | 配置已写入控制面,但下发数据面失败,请稍后重试或联系技术支持 |
请求示例
Plain Text
1POST /?action=CreateCustomPlugin HTTP/1.1
2Host: bcc.bj.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4
5{
6 "name": "限流插件",
7 "instanceId": "gw-a1b2c3d4",
8 "config": "{}",
9 "pluginPhase": "AUTHZ",
10 "executionPriority": 10,
11 "description": "按 QPS 限流",
12 "version": "1.0.0",
13 "versionDescription": "初始版本"
14}
返回示例
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{
8 "pluginReleaseId": "pls-a1b2c3d4"
9}
评价此篇文章
