Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2025-12-22 GMT+08:00

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

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

project_id

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

String

ID de gateway, que se puede obtener de la información de gateway en la consola de APIG.

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

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.

Tabla 3 Parámetros del cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

group_info

MicroserviceGroup object

Información sobre el grupo API al que importar un microservicio.

service_type

String

Tipo de centro de microservicios. Opciones:

  • CSE: Centro de registro de microservicios de CSE

  • CCE: Carga de trabajo de CCE

  • CCE_SERVICE: Servicio CCE

  • NACOS: Centro de registro de Nacos. nacos_info es obligatorio.

protocol

No

String

Protocolo de solicitud utilizado por APIG para acceder al microservicio.

  • HTTP

  • HTTPS

Predeterminado: HTTPS

apis

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.

  • NONE

  • APP

  • IAM

Predeterminado: NONE

cors

No

Boolean

Si se soporta CORS. No está soportado de manera predeterminada.

  • true: Soportado.

  • false: no se admite.

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

MicroServiceInfoCCEServiceCreate object

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.

Tabla 4 MicroserviceGroup

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

Tabla 5 MicroserviceApiCreate

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

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.

  • SWA: coincidencia de prefijo.

  • NORMAL: coincidencia exacta.

Valor predeterminado: NORMAL

Predeterminado: SWA

Tabla 6 MicroServiceInfoCSECreate

Parámetro

Obligatorio

Tipo

Descripción

engine_id

String

ID del motor de microservicio.

Máximo: 64

service_id

String

ID de microservicio.

Máximo: 64

version

String

Versión de microservicio.

Máximo: 64

Tabla 7 MicroServiceInfoCCECreate

Parámetro

Obligatorio

Tipo

Descripción

cluster_id

String

ID del clúster de CCE.

Máximo: 64

namespace

String

Espacio de nombres.

Máximo: 64

workload_type

String

Tipo de carga de trabajo.

  • deployment

  • statefulset

  • daemonset

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

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.

Tabla 8 MicroserviceLabel

Parámetro

Obligatorio

Tipo

Descripción

label_name

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

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

Tabla 9 MicroServiceInfoCCEServiceCreate

Parámetro

Obligatorio

Tipo

Descripción

cluster_id

String

ID del clúster de CCE.

Máximo: 64

namespace

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

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

Tabla 10 MicroServiceInfoNacosBase

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

String

Nombre del microservicio. El valor no puede comenzar con @ o contener @@. Máximo: 512 caracteres

Mínimo: 1

Máximo: 512

server_config

Array of NacosServerConfig objects

Configuraciones del servidor Nacos.

Longitud de matriz: 1 - 9

user_info

NacosUserInfo object

Información del usuario de Nacos.

Tabla 11 NacosServerConfig

Parámetro

Obligatorio

Tipo

Descripción

ip_address

String

Dirección IP del servidor de Nacos. No ingrese caracteres chinos.

Mínimo: 7

Máximo: 128

port

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

Tabla 12 NacosUserInfo

Parámetro

Obligatorio

Tipo

Descripción

user_name

String

Nombre de usuario de Nacos.

Mínimo: 1

Máximo: 64

password

String

Contraseña de Nacos.

Mínimo: 1

Máximo: 64

Parámetros de respuesta

Código de estado: 201

Tabla 13 Parámetros del cuerpo de respuesta

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.

Tabla 14 MicroserviceImportApiResp

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.

  • SWA: coincidencia de prefijo.

  • NORMAL: coincidencia exacta.

    Valor predeterminado: SWA

Código de estado: 400

Tabla 15 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 401

Tabla 16 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 403

Tabla 17 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 404

Tabla 18 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 500

Tabla 19 Parámetros del cuerpo de respuesta

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.