Importación de un microservicio
Función
This API is used to import a microservice.
Método de invocación
Para obtener más información, véase invocación de API.
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/microservice/import
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
project_id | Sí | String | ID del proyecto. Para obtener más información sobre cómo obtenerlo, véase Obtención de un ID de proyecto. |
instance_id | Sí | String | ID de gateway, que se puede obtener de la información de gateway en la consola de APIG. |
Parámetros de solicitud
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
X-Auth-Token | Sí | String | Token de usuario. Se puede obtener invocando a la API de IAM utilizada para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es un token. |
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
group_info | Sí | MicroserviceGroup object | Información sobre el grupo API al que importar un microservicio. |
service_type | Sí | String | Tipo de centro de microservicios. Opciones:
|
protocol | No | String | Protocolo de solicitud utilizado por APIG para acceder al microservicio.
Predeterminado: HTTPS |
apis | Sí | Array of MicroserviceApiCreate objects | Las API importadas. Longitud del arreglo: 1 - 50 |
backend_timeout | No | Integer | Tiempo de espera permitido para que APIG solicite el servicio de backend. Puede establecer el tiempo de espera máximo mediante el elemento de configuración backend_timeout. El valor máximo es de 600,000 y el valor predeterminado es 5000. Unidad: ms. Mínimo: 1 Predeterminado: 5000 |
auth_type | No | String | Modo de autenticación de API. Por defecto, no se requiere autenticación.
Predeterminado: NONE |
cors | No | Boolean | Si se soporta CORS. No está soportado de manera predeterminada.
Predeterminado: false |
cse_info | No | MicroServiceInfoCSECreate object | Detalles del microservicio de CSE. Este parámetro es necesario si service_type se establece en CSE. |
cce_info | No | MicroServiceInfoCCECreate object | Detalles de carga de trabajo de CCE. Este parámetro es necesario si service_type se establece en CCE. |
cce_service_info | No | Detalles del servicio de CCE.This parameter is required if service_type is set to CCE_SERVICE. | |
nacos_info | No | MicroServiceInfoNacosBase object | Información básica de Nacos. |
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
group_id | No | String | Un grupo existente. Si este parámetro se deja vacío, se crea un nuevo grupo. Mínimo: 0 Máximo: 64 |
group_name | No | String | Nombre del grupo de API. Este parámetro es necesario cuando group_id está vacío. Escriba de 3 a 255 caracteres, comenzando con una letra o un dígito. Solo se permiten letras, dígitos y estos caracteres especiales: -_./:() Mínimo: 3 Máximo: 255 |
app_id | No | String | Aplicación de integración a la que pertenece el nuevo grupo. Este parámetro es necesario cuando group_id está vacío. Mínimo: 0 Máximo: 64 |
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
name | No | String | Nombre de la API. Se comienza con una letra o dígito, y se usa solo letras, dígitos y estos caracteres especiales: -_./:() Mínimo: 3 Máximo: 255 |
req_method | No | String | Método de solicitud. Predeterminado: ANY |
req_uri | Sí | String | Dirección de solicitud, que puede contener parámetros de solicitud entre llaves ({}). Por ejemplo, /getUserInfo/{userId}. Caracteres especiales, como asteriscos (*), barras diagonales (/), signos de porcentaje (%), guiones (-), guiones bajos (_) y puntos (.), están permitidos. Puede contener un máximo de 512 caracteres y debe cumplir con las especificaciones de URI. /apic/health_check es la ruta de comprobación de estado preestablecido de APIG. Si se aprueba req_method=GET, no se admite req_uri=/apic/health_check. NOTA: La dirección debe cumplir con las especificaciones de URI. Mínimo: 1 Máximo: 512 |
match_mode | No | String | Modo de coincidencia de API.
Valor predeterminado: NORMAL Predeterminado: SWA |
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
engine_id | Sí | String | ID del motor de microservicio. Máximo: 64 |
service_id | Sí | String | ID de microservicio. Máximo: 64 |
version | Sí | String | Versión de microservicio. Máximo: 64 |
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
cluster_id | Sí | String | ID del clúster de CCE. Máximo: 64 |
namespace | Sí | String | Espacio de nombres. Máximo: 64 |
workload_type | Sí | String | Tipo de carga de trabajo.
|
app_name | No | String | Nombre de la aplicación. Se comienza con una letra e incluya solo letras, dígitos, puntos (.), guiones (-) y guiones bajos (_). (de 1 a 64 caracteres) Mínimo: 1 Máximo: 64 |
label_key | No | String | Clave de etiqueta de servicio. Se comienza con una letra o un dígito, y se usa solo letras, dígitos y estos caracteres especiales: -_./:(). (de 1 a 64 caracteres) Mínimo: 1 Máximo: 64 |
label_value | No | String | Valor de etiqueta de servicio. Se comienza con una letra e incluya solo letras, dígitos, puntos (.), guiones (-) y guiones bajos (_). (de 1 a 64 caracteres) Mínimo: 1 Máximo: 64 |
version | No | String | Versión de carga de trabajo. Máximo: 64 |
port | Sí | Integer | Número del puerto de escucha de la carga de trabajo. Mínimo: 1 Máximo: 65535 |
labels | No | Array of MicroserviceLabel objects | Lista de etiquetas de carga de trabajo. |
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
label_name | Sí | String | Nombre de la etiqueta. Se comienza y se termina con una letra o un dígito. Se utiliza solo letras, dígitos, guiones (-), guiones bajos (_) y puntos (.). (Máx. 63 caracteres.) Mínimo: 1 Máximo: 63 |
label_value | Sí | String | Valor de la etiqueta. Se comienza y se termina con una letra o un dígito. Se utiliza solo letras, dígitos, guiones (-), guiones bajos (_) y puntos (.). (Máx. 63 caracteres.) Mínimo: 1 Máximo: 63 |
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
cluster_id | Sí | String | ID del clúster de CCE. Máximo: 64 |
namespace | Sí | String | Espacio de nombres. De 1 a 63 caracteres. Se utiliza letras minúsculas, dígitos y guiones (-). Se comienza con una letra y se termina con una letra o un dígito. Mínimo: 1 Máximo: 63 |
service_name | Sí | String | Nombre del servicio. Se comienza con una letra y se utiliza solo letras, dígitos, puntos (.), guiones (-) y guiones bajos (_). (de 1 a 64 caracteres) Mínimo: 1 Máximo: 64 |
port | No | Integer | Puerto de escucha de servicio. Para un servicio multipuerto, solo se debe ingresar un número de puerto. Mínimo: 1 Máximo: 65535 |
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
namespace | No | String | ID de espacio de nombres. Si se utiliza el espacio de nombres predeterminado public, deje este parámetro vacío. Solo se permiten letras, números, guiones (-) y guiones bajos (_). Máximo: 64 caracteres Mínimo: 0 Máximo: 64 |
cluster_name | No | String | Nombre del clúster. El valor predeterminado es DEFAULT. Solo se permiten letras, números, guiones (-) y guiones bajos (_). Máximo: 64 caracteres Mínimo: 0 Máximo: 64 |
group_name | No | String | Nombre del grupo. El valor predeterminado es DEFAULT_GROUP. Solo se permiten letras, números, guiones (-), guiones bajos (_), puntos (.) y dos puntos. Máximo: 128 caracteres Mínimo: 0 Máximo: 128 |
service_name | Sí | String | Nombre del microservicio. El valor no puede comenzar con @ o contener @@. Máximo: 512 caracteres Mínimo: 1 Máximo: 512 |
server_config | Sí | Array of NacosServerConfig objects | Configuraciones del servidor Nacos. Longitud de matriz: 1 - 9 |
user_info | Sí | NacosUserInfo object | Información del usuario de Nacos. |
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
ip_address | Sí | String | Dirección IP del servidor de Nacos. No ingrese caracteres chinos. Mínimo: 7 Máximo: 128 |
port | Sí | Integer | Número de puerto del servidor de Nacos. Rango: 1–65535. Mínimo: 1 Máximo: 65535 |
grpc_port | No | Integer | Número de puerto gRPC del servidor de Nacos. Predeterminado: número de puerto + 1000 Rango: 1–65535. Mínimo: 1 Máximo: 65535 |
Parámetros de respuesta
Código de estado: 201
Parámetro | Tipo | Descripción |
|---|---|---|
vpc_channel_id | String | ID de canal de VPC. |
api_group_id | String | ID de grupo de API. |
apis | Array of MicroserviceImportApiResp objects | Las API importadas. |
Parámetro | Tipo | Descripción |
|---|---|---|
name | String | Nombre de la API. |
req_uri | String | Ruta de solicitud. |
req_method | String | Método de solicitud. |
id | String | ID de API. |
match_mode | String | Modo de coincidencia de API.
|
Código de estado: 400
Parámetro | Tipo | Descripción |
|---|---|---|
error_code | String | Código de error. |
error_msg | String | Mensaje de error. |
Código de estado: 401
Parámetro | Tipo | Descripción |
|---|---|---|
error_code | String | Código de error. |
error_msg | String | Mensaje de error. |
Código de estado: 403
Parámetro | Tipo | Descripción |
|---|---|---|
error_code | String | Código de error. |
error_msg | String | Mensaje de error. |
Código de estado: 404
Parámetro | Tipo | Descripción |
|---|---|---|
error_code | String | Código de error. |
error_msg | String | Mensaje de error. |
Código de estado: 500
Parámetro | Tipo | Descripción |
|---|---|---|
error_code | String | Código de error. |
error_msg | String | Mensaje de error. |
Ejemplo de las solicitudes
Importación de un microservicio 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" } }Importación de un despliegue de CCE
{ "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" } ] } }
Ejemplo de respuestas
Código de estado: 201
éxito
Ejemplo 1
{ "vpc_channel_id" : "9d075537ff314a5e8e5c98bf29549b89", "api_group_id" : "6329eaa17736412b988536179cd8d662", "apis" : [ { "id" : "72e667087fe140529f81995b213dadbe", "name" : "api1", "req_uri" : "/test", "req_method" : "ANY", "match_mode" : "SWA" } ] }Ejemplo 2
{ "vpc_channel_id" : "3f56e9d4a747486caa4cfb59a47b6854", "api_group_id" : "6329eaa17736412b988536179cd8d662", "apis" : [ { "id" : "3b52e2c05710470b88e283deb0a805e6", "name" : "dp_b09d", "req_uri" : "/test", "req_method" : "ANY", "match_mode" : "SWA" } ] }
Código de estado: 400
Error en la solicitud
{
"error_code" : "APIG.2011",
"error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
} Código de estado: 401
Sin autorización
{
"error_code" : "APIG.1002",
"error_msg" : "Incorrect token or token resolution failed"
} Código de estado: 403
Prohibido
{
"error_code" : "APIG.1005",
"error_msg" : "No permissions to request this method"
} Código de estado: 404
No se ha encontrado
{
"error_code" : "APIG.3030",
"error_msg" : "The instance does not exist;id:f0fa1789-3b76-433b-a787-9892951c620ec"
} Código de estado: 500
Error del servidor interno
{
"error_code" : "APIG.9999",
"error_msg" : "System error"
} Códigos de estado
Código de estado | Descripción |
|---|---|
201 | éxito |
400 | Error en la solicitud |
401 | Sin autorización |
403 | Prohibido |
404 | No se ha encontrado |
500 | Error del servidor interno |
Códigos de error
Consulte Códigos de error.

