Importing a Microservice¶
Function¶
This API is used to import a microservice.
Calling Method¶
For details, see Calling APIs.
URI¶
POST /v2/{project_id}/apigw/instances/{instance_id}/microservice/import
Parameter | Mandatory | Type | Description |
---|---|---|---|
project_id | Yes | String | Project ID. For details about how to obtain it, see Obtaining a Project ID. |
instance_id | Yes | String | Gateway ID, which can be obtained from the gateway information on the APIG console. |
Request Parameters¶
Parameter | Mandatory | Type | Description |
---|---|---|---|
X-Auth-Token | Yes | String | User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is a token. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
group_info | Yes | MicroserviceGroup object | Information about the API group to import a microservice to. |
service_type | Yes | String | Microservice center type.
Enumeration values:
|
protocol | No | String | Request protocol used by APIG to access the microservice.
Default: HTTPS Enumeration values:
|
apis | Yes | Array of MicroserviceApiCreate objects | Imported APIs. Array Length: 1 - 50 |
backend_timeout | No | Integer | Timeout allowed for APIG to request the backend service. You can set the maximum timeout using the backend_timeout configuration item. The maximum value is 600,000, and the default value is 5000. Unit: ms. Minimum: 1 Default: 5000 |
auth_type | No | String | API authentication mode. By default, authentication is not required.
Default: NONE Enumeration values:
|
cors | No | Boolean | Whether CORS is supported. By default, it is not supported.
Default: false Enumeration values:
|
cse_info | No | MicroServiceInfoCSECreate object | CSE microservice details. This parameter is required if service_type is set to CSE. |
cce_info | No | MicroServiceInfoCCECreate object | CCE workload details. This parameter is required if service_type is set to CCE. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
group_id | No | String | An existing group. If this parameter is left empty, a new group is created. Minimum: 0 Maximum: 64 |
group_name | No | String | Name of the API group. This parameter is required when group_id is empty. Enter 3 to 255 characters, starting with a letter or digit. Only letters, digits, and these special characters are allowed: -_./:() Minimum: 3 Maximum: 255 |
app_id | No | String | Integration application to which the new group belongs. This parameter is required when group_id is empty. Minimum: 0 Maximum: 64 |
Parameter | Mandatory | Type | Description |
---|---|---|---|
name | No | String | API name. Start with a letter or digit, and use only letters, digits, and these special characters: -_./:() Minimum: 3 Maximum: 255 |
req_method | No | String | Request method. Default: ANY Enumeration values:
|
req_uri | Yes | String | Request address, which can contain request parameters enclosed with braces ({}). For example, /getUserInfo/{userId}. Special characters, such as asterisks ( /apic/health_check is the preset health check path of APIG. If req_method=GET is passed, req_uri=/apic/health_check is not supported. Note The address must comply with the URI specifications. Minimum: 1 Maximum: 512 |
match_mode | No | String | API matching mode.
Default value: NORMAL Default: SWA Enumeration values:
|
Parameter | Mandatory | Type | Description |
---|---|---|---|
engine_id | Yes | String | Microservice engine ID. Maximum: 64 |
service_id | Yes | String | Microservice ID. Maximum: 64 |
version | Yes | String | Microservice version. Maximum: 64 |
Parameter | Mandatory | Type | Description |
---|---|---|---|
cluster_id | Yes | String | CCE cluster ID. Maximum: 64 |
namespace | Yes | String | Namespace. Maximum: 64 |
workload_type | Yes | String | Workload type.
Enumeration values:
|
app_name | No | String | App name. Start with a letter, and include only letters, digits, periods (.), hyphens (-), and underscores (_). (1 to 64 characters) Minimum: 1 Maximum: 64 |
label_key | No | String | Service label key. Start with a letter or digit, and use only letters, digits, and these special characters: Minimum: 1 Maximum: 64 |
label_value | No | String | Service label value. Start with a letter, and include only letters, digits, periods (.), hyphens (-), and underscores (_). (1 to 64 characters) Minimum: 1 Maximum: 64 |
version | No | String | Workload version. Maximum: 64 |
port | Yes | Integer | Listening port No. of the workload. Minimum: 1 Maximum: 65535 |
labels | No | Array of MicroserviceLabel objects | Workload label list. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
label_name | Yes | String | Tag name. Start and end with a letter or digit. Use only letters, digits, hyphens (-), underscores (_), and periods (.). (Max. 63 characters.) Minimum: 1 Maximum: 63 |
label_value | Yes | String | Tag value. Start and end with a letter or digit. Use only letters, digits, hyphens (-), underscores (_), and periods (.). (Max. 63 characters.) Minimum: 1 Maximum: 63 |
Response Parameters¶
Status code: 201
Parameter | Type | Description |
---|---|---|
vpc_channel_id | String | VPC channel ID. |
api_group_id | String | API group ID. |
apis | Array of MicroserviceImportApiResp objects | Imported APIs. |
Parameter | Type | Description |
---|---|---|
name | String | API name. |
req_uri | String | Request path. |
req_method | String | Request method. |
id | String | API ID. |
match_mode | String | API matching mode.
Enumeration values:
|
Status code: 400
Parameter | Type | Description |
---|---|---|
error_code | String | Error code. |
error_msg | String | Error message. |
Status code: 401
Parameter | Type | Description |
---|---|---|
error_code | String | Error code. |
error_msg | String | Error message. |
Status code: 403
Parameter | Type | Description |
---|---|---|
error_code | String | Error code. |
error_msg | String | Error message. |
Status code: 404
Parameter | Type | Description |
---|---|---|
error_code | String | Error code. |
error_msg | String | Error message. |
Status code: 500
Parameter | Type | Description |
---|---|---|
error_code | String | Error code. |
error_msg | String | Error message. |
Example Requests¶
Importing a CSE microservice
{ "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" } }
Importing a 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" } ] } }
Example Responses¶
Status code: 201
success
Example 1
{ "vpc_channel_id" : "9d075537ff314a5e8e5c98bf29549b89", "api_group_id" : "6329eaa17736412b988536179cd8d662", "apis" : [ { "id" : "72e667087fe140529f81995b213dadbe", "name" : "api1", "req_uri" : "/test", "req_method" : "ANY", "match_mode" : "SWA" } ] }
Example 2
{ "vpc_channel_id" : "3f56e9d4a747486caa4cfb59a47b6854", "api_group_id" : "6329eaa17736412b988536179cd8d662", "apis" : [ { "id" : "3b52e2c05710470b88e283deb0a805e6", "name" : "dp_b09d", "req_uri" : "/test", "req_method" : "ANY", "match_mode" : "SWA" } ] }
Status code: 400
Bad Request
{
"error_code" : "APIG.2011",
"error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
}
Status code: 401
Unauthorized
{
"error_code" : "APIG.1002",
"error_msg" : "Incorrect token or token resolution failed"
}
Status code: 403
Forbidden
{
"error_code" : "APIG.1005",
"error_msg" : "No permissions to request this method"
}
Status code: 404
Not Found
{
"error_code" : "APIG.3030",
"error_msg" : "The instance does not exist;id:f0fa1789-3b76-433b-a787-9892951c620ec"
}
Status code: 500
Internal Server Error
{
"error_code" : "APIG.9999",
"error_msg" : "System error"
}
Status Codes¶
Status Code | Description |
---|---|
201 | success |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Error Codes¶
See Error Codes.