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.