导入微服务 - ImportMicroservice
功能介绍
导入微服务。
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
apig:instance:importMicroservice
Write
instance *
g:ResourceTag/<tag-key>
- apig:apis:import
- apig:instance:get
- apig:api:create
- apig:apiGroup:get
- apig:apiGroup:create
- apig:loadBalanceChannel:get
- apig:loadBalanceChannel:create
- cce:cluster:getCluster
- cce:cluster:generateClientCredential
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/microservice/import
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID,获取方式请参见获取项目ID。 |
instance_id | 是 | String | 实例ID,在API网关控制台的“实例信息”中获取。 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
group_info | 是 | MicroserviceGroup object | 导入微服务的API分组信息 |
service_type | 是 | String | 微服务中心类型。
|
protocol | 否 | String | API网关访问微服务的请求协议
缺省值:HTTPS |
apis | 是 | Array of MicroserviceApiCreate objects | 导入的api列表 数组长度:1 - 50 |
backend_timeout | 否 | Integer | APIG请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000,默认5000 单位:毫秒。 最小值:1 缺省值:5000 |
auth_type | 否 | String | API的认证方式,默认无认证。
缺省值:NONE |
cors | 否 | Boolean | 是否支持跨域,默认不支持
缺省值:false |
cse_info | 否 | MicroServiceInfoCSECreate object | CSE微服务详细信息,service_type为CSE时必填 |
cce_info | 否 | MicroServiceInfoCCECreate object | CCE云容器引擎工作负载信息,service_type为CCE时必填 |
cce_service_info | 否 | CCE云容器引擎Service信息,service_type为CCE_SERVICE时必填 | |
nacos_info | 否 | MicroServiceInfoNacosBase object | nacos基础信息。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
group_id | 否 | String | 指定已有的分组,为空时创建新的分组 最小长度:0 最大长度:64 |
group_name | 否 | String | API分组的名称,group_id为空时必填。 支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头,3-255个字符。 说明: 中文字符必须为UTF-8或者unicode编码。 最小长度:3 最大长度:255 |
app_id | 否 | String | group_id为空时必填,指定新分组所属的集成应用 最小长度:0 最大长度:64 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 否 | String | API名称。 支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头。 说明: 中文字符必须为UTF-8或者unicode编码。 最小长度:3 最大长度:255 |
req_method | 否 | String | API的请求方式 缺省值:ANY |
req_uri | 是 | String | 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 /apic/health_check为APIG预置的健康检查路径,当req_method=GET时不支持req_uri=/apic/health_check。 说明: 需要服从URI规范。 最小长度:1 最大长度:512 |
match_mode | 否 | String | API的匹配方式
默认:NORMAL 缺省值:SWA |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
engine_id | 是 | String | 微服务引擎编号 最大长度:64 |
service_id | 是 | String | 微服务编号 最大长度:64 |
version | 是 | String | 微服务版本 最大长度:64 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
cluster_id | 是 | String | 云容器引擎集群编号 最大长度:64 |
namespace | 是 | String | 命名空间 最大长度:64 |
workload_type | 是 | String | 工作负载类型
|
app_name | 否 | String | APP名称。支持汉字,英文,数字,点,中划线,下划线,且只能以英文和汉字开头,1-64字符。 说明: 中文字符必须为UTF-8或者unicode编码。 最小长度:1 最大长度:64 |
label_key | 否 | String | 服务标识名。支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号,且只能以英文、汉字和数字开头,1-64个字符。 说明: 中文字符必须为UTF-8或者unicode编码。 最小长度:1 最大长度:64 |
label_value | 否 | String | 服务标识值。支持汉字,英文,数字,点,中划线,下划线,且只能以英文和汉字开头,1-64字符。 说明: 中文字符必须为UTF-8或者unicode编码。 最小长度:1 最大长度:64 |
version | 否 | String | 工作负载的版本 最大长度:64 |
port | 是 | Integer | 工作负载的监听端口号 最小值:1 最大值:65535 |
labels | 否 | Array of MicroserviceLabel objects | 工作负载的标签列表。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
label_name | 是 | String | 标签名称。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 |
label_value | 是 | String | 标签值。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
cluster_id | 是 | String | 云容器引擎集群编号 最大长度:64 |
namespace | 是 | String | 命名空间。1-63字符。只能包含小写字母、数字,以及 '-',必须以字母开头,必须以字母数字结尾。 最小长度:1 最大长度:63 |
service_name | 是 | String | Service名称。支持汉字,英文,数字,点,中划线,下划线,且只能以英文和汉字开头,1-64字符。 说明: 中文字符必须为UTF-8或者unicode编码。 最小长度:1 最大长度:64 |
port | 否 | Integer | Service的监听端口号。如果是多端口Service,用户需填写一个端口。 最小值:1 最大值:65535 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
namespace | 否 | String | 命名空间ID,当选择默认命名空间public时,此项为空。由字母、数字、连接符('-')、下划线('_')组成且64个字符之内。 最小长度:0 最大长度:64 |
cluster_name | 否 | String | 集群名称,默认为DEFAULT。由字母、数字、连接符('-')、下划线('_')组成且64个字符之内。 最小长度:0 最大长度:64 |
group_name | 否 | String | 分组名称,默认为DEFAULT_GROUP。由字母、数字、连接符('-')、下划线('_')、点号('.')、冒号(':')组成且128个字符之内。 最小长度:0 最大长度:128 |
service_name | 是 | String | 微服务名称。不包含中文和@@,不得以@开头,512个字符以内。 最小长度:1 最大长度:512 |
server_config | 是 | Array of NacosServerConfig objects | nacos服务端配置信息。 数组长度:1 - 9 |
user_info | 是 | NacosUserInfo object | nacos用户信息。 |
响应参数
状态码:201
参数 | 参数类型 | 描述 |
|---|---|---|
vpc_channel_id | String | vpc通道编号 |
api_group_id | String | api分组编号 |
apis | Array of MicroserviceImportApiResp objects | 导入的api列表 |
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | API名称 |
req_uri | String | API请求路径 |
req_method | String | API请求方法 |
id | String | API编号 |
match_mode | String | API的匹配方式
默认:SWA |
状态码: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 | 错误描述 |
请求示例
导入CSE微服务
{ "group_info" : { "group_id" : "6329eaa17736412b988536179cd8d662", "group_name" : "", "app_id" : "" }, "service_type" : "CSE", "protocol" : "HTTPS", "apis" : [ { "name" : "api1", "req_method" : "ANY", "req_uri" : "/test", "match_mode" : "SWA" } ], "backend_timeout" : 5000, "auth_type" : "NONE", "cors" : false, "cse_info" : { "engine_id" : "fde2c21c-5bd9-40f0-ad6a-81e4b6782805a", "service_id" : "92919f98fba80c2df13cc285c983946c90e635ff", "version" : "1.0.0" } }导入CCE工作负载,负载类型为无状态负载Deployment
{ "group_info" : { "group_id" : "6329eaa17736412b988536179cd8d662", "group_name" : "", "app_id" : "" }, "service_type" : "CCE", "protocol" : "HTTPS", "apis" : [ { "name" : "dp", "req_method" : "ANY", "req_uri" : "/test", "match_mode" : "SWA" } ], "backend_timeout" : 5000, "auth_type" : "NONE", "cors" : false, "cce_info" : { "cluster_id" : "11069278-f9f8-11ec-b1b2-0255ac100b06", "namespace" : "test", "workload_type" : "deployment", "app_name" : "dp", "port" : 80, "labels" : [ { "label_name" : "cluster_id", "label_value" : "c429700c-5dc4-482a-9c0e-99f6c0635113" } ] } }
响应示例
状态码:201
success
示例 1
{ "vpc_channel_id" : "9d075537ff314a5e8e5c98bf29549b89", "api_group_id" : "6329eaa17736412b988536179cd8d662", "apis" : [ { "id" : "72e667087fe140529f81995b213dadbe", "name" : "api1", "req_uri" : "/test", "req_method" : "ANY", "match_mode" : "SWA" } ] }示例 2
{ "vpc_channel_id" : "3f56e9d4a747486caa4cfb59a47b6854", "api_group_id" : "6329eaa17736412b988536179cd8d662", "apis" : [ { "id" : "3b52e2c05710470b88e283deb0a805e6", "name" : "dp_b09d", "req_uri" : "/test", "req_method" : "ANY", "match_mode" : "SWA" } ] }
状态码:400
Bad Request
{
"error_code" : "APIG.2011",
"error_msg" : "Invalid parameter value,parameterName:name. 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.3030",
"error_msg" : "The instance does not exist;id:f0fa1789-3b76-433b-a787-9892951c620ec"
} 状态码:500
Internal Server Error
{
"error_code" : "APIG.9999",
"error_msg" : "System error"
} 状态码
状态码 | 描述 |
|---|---|
201 | success |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
错误码
请参见错误码。

