导入微服务
功能介绍
导入微服务。
调用方法
请参见如何调用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时必填 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
工作负载的标签列表。 |
响应参数
状态码: 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 |
错误码
请参见错误码。