切换API版本 - ChangeApiVersionV2
功能介绍
API每次发布时,会基于当前的API定义生成一个版本。版本记录了API发布时的各种定义及状态。
多个版本之间可以进行随意切换。但一个API在一个环境上,只能有一个版本生效。
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
apig:api:switchVersion
Write
instance *
g:ResourceTag/<tag-key>
- apig:apis:publish
- apig:instance:get
- apig:api:get
URI
PUT /v2/{project_id}/apigw/instances/{instance_id}/apis/publish/{api_id}
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID,获取方式请参见获取项目ID。 |
instance_id | 是 | String | 实例ID,在API网关控制台的“实例信息”中获取。 |
api_id | 是 | String | API的编号 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
version_id | 否 | String | API版本的编号 |
响应参数
状态码:200
参数 | 参数类型 | 描述 |
|---|---|---|
publish_id | String | 发布记录的ID |
api_id | String | API编号 |
api_name | String | API名称 |
env_id | String | 发布的环境编号 |
remark | String | 发布描述 |
publish_time | String | 发布时间 |
version_id | 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版本
{
"version_id" : "ee1a5a38d3d3493abf1dc4ed6cacfa0b"
} 响应示例
状态码:200
OK
{
"publish_id" : "9191cdb430724d4b8586ed7f1b962ca2",
"api_id" : "5f918d104dc84480a75166ba99efff21",
"env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
"version_id" : "ee1a5a38d3d3493abf1dc4ed6cacfa0b",
"publish_time" : "2020-08-03T03:27:49.483295655Z"
} 状态码:400
Bad Request
{
"error_code" : "APIG.2000",
"error_msg" : "Parameter error: Serialization error: unexpected end of JSON input"
} 状态码: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.3022",
"error_msg" : "The API version does not exist,id:ee1a5a38d3d3493abf1dc4ed6cacfa0b"
} 状态码:500
Internal Server Error
{
"error_code" : "APIG.9999",
"error_msg" : "System error"
} 状态码
状态码 | 描述 |
|---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
错误码
请参见错误码。

