导入微服务
功能介绍
导入微服务。
调用方法
请参见如何调用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 |
错误码
请参见错误码。