API绑定插件 - AttachPluginToApi
功能介绍
绑定插件到API上。
只能选择发布状态的API
绑定以后及时生效
修改插件后及时生效
相同类型的插件只能绑定一个,如果再次绑定同类型的插件,那么已绑定的同类型插件将直接被覆盖。
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
apig:api:bindPlugin
Write
instance *
g:ResourceTag/<tag-key>
- apig:apis:bindPlugins
- apig:instance:get
- apig:api:get
- apig:plugin:get
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id}/plugins/attach
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID,获取方式请参见获取项目ID。 |
instance_id | 是 | String | 实例ID,在API网关控制台的“实例信息”中获取。 |
api_id | 是 | String | API编号 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
env_id | 是 | String | 绑定API的环境编码。 |
plugin_ids | 是 | Array of strings | 绑定的插件编码列表。 数组长度:1 - 500 |
响应参数
状态码:201
参数 | 参数类型 | 描述 |
|---|---|---|
attached_plugins | Array of PluginApiAttachInfo objects | 绑定插件信息列表。 |
参数 | 参数类型 | 描述 |
|---|---|---|
plugin_attach_id | String | 插件绑定编码。 |
plugin_id | String | 插件编码。 |
plugin_name | String | 插件名称。支持汉字,英文,数字,中划线,下划线,且只能以英文和汉字开头,3-255字符 说明: 中文字符必须为UTF-8或者unicode编码。 |
plugin_type | String | 插件类型。
|
plugin_scope | String | 插件可见范围。global:全局可见。 |
env_id | String | 绑定API的环境编码。 |
env_name | String | api授权绑定的环境名称 |
api_id | String | 绑定的API编码。 |
api_name | String | API的名称 |
attached_time | String | 绑定时间。 |
状态码:400
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码:401
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码:403
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码:404
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码:500
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
请求示例
将插件绑定到API上
{
"env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
"plugin_ids" : [ "5b729aa252764739b3s237ef0d66dc63" ]
} 响应示例
状态码:201
OK
{
"attached_plugins" : [ {
"plugin_attach_id" : "8aa097b00e9843efacb9c593d11b769e",
"plugin_id" : "5b729aa252764739b3s237ef0d66dc63",
"plugin_name" : "跨域插件",
"plugin_type" : "cors",
"plugin_scope" : "global",
"env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
"env_name" : "RELEASE",
"api_id" : "8aa097b00e9843efabc9c593d11b769d",
"api_name" : "api_name",
"attached_time" : "2022-11-02T12:31:23.353Z"
} ]
} 状态码:400
Bad Request
{
"error_code" : "APIG.2012",
"error_msg" : "Invalid parameter value,parameterName:instance_id. Please refer to the support documentation"
} 状态码:401
Unauthorized
{
"error_code" : "APIG.1002",
"error_msg" : "Incorrect token or token resolution failed"
} 状态码:403
Forbidden
{
"error_code" : "APIG.1005",
"error_msg" : "No permissions to request this method"
} 状态码:404
Not Found
{
"error_code" : "APIG.3068",
"error_msg" : "Plugin b294018ee0554156a875b3513e02e5b9 does not exist"
} 状态码:500
Internal Server Error
{
"error_code" : "APIG.9999",
"error_msg" : "System error"
} 状态码
状态码 | 描述 |
|---|---|
201 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
错误码
请参见错误码。

