导入微服务
功能介绍
导入微服务。
调用方法
请参见如何调用API。
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的匹配方式
缺省值: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的匹配方式
|
状态码: 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 |
错误码
请参见错误码。