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 2023-03-29 GMT+08:00

Modificación de una API

Función

Esta API se utiliza para modificar la información sobre una API, incluida su información de backend.

URI

PUT /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id}

Tabla 1 Parámetros de path

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto. Para obtener detalles sobre cómo obtener un ID de proyecto, consulte "Apéndice" > "Obtención de un ID de proyecto" en este documento.

instance_id

String

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

api_id

String

ID de API.

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 llamando 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 de body de solicitud

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre de API.

Puede contener de 3 a 64 caracteres, empezando por una letra. Solo se permiten letras, dígitos y guiones bajos (_).

type

Integer

Tipo de API.

  • 1: API pública

  • 2: API privada

Valores de enumeración:

  • 1

  • 2

version

No

String

Versión de la API.

Máximo: 16

req_protocol

String

Solicitud de protocolo.

  • HTTP

  • HTTPS

  • BOTH: Se puede acceder a la API a través de HTTP y HTTPS.

Predeterminado: HTTPS

Valores de enumeración:

  • HTTP

  • HTTPS

  • BOTH

req_method

String

Método de solicitud.

Valores de enumeración:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

req_uri

String

Solicitud de dirección. Puede contener parámetros de solicitud encerrados con corchetes ({}). Por ejemplo, /getUserInfo/{userId}. Se permiten caracteres especiales, como asteriscos (*), signos de porcentaje (%), guiones (-) y guiones bajos (_). Puede contener un máximo de 512 caracteres y debe cumplir con las especificaciones de URI. El valor debe cumplir con las especificaciones de URI.

auth_type

String

Modo de autenticación de API.

  • NONE

  • APP

  • IAM

  • AUTHORIZER

Valores de enumeración:

  • NONE

  • APP

  • IAM

  • AUTHORIZER

auth_opt

No

AuthOpt object

Parámetro de autenticación de seguridad.

cors

No

Boolean

Indica si se admite CORS.

  • TRUE: soportado

  • FALSE: no soportado

Predeterminado: false

Valores de enumeración:

  • true

  • false

match_mode

No

String

Modo de coincidencia de ruta.

  • SWA: coincidencia de prefijo

  • NORMAL: Coincidencia exacta.

El valor predeterminado es NORMAL.

Valores de enumeración:

  • SWA

  • NORMAL

backend_type

String

Tipo de backend.

  • HTTP: backend de web

  • FUNCTION: backend de FunctionGraph

  • MOCK: backend de Mock

Valores de enumeración:

  • HTTP

  • FUNCTION

  • MOCK

remark

No

String

Descripción de API. No puede superar los 255 caracteres.

group_id

String

ID del grupo de API al que pertenece la API.

body_remark

No

String

Cuerpo de solicitud de API, que puede ser un cuerpo de solicitud de ejemplo, tipo de medio o parámetros. Asegúrese de que el cuerpo de la solicitud no exceda los caracteres 20,480.

result_normal_sample

No

String

Ejemplo de respuesta para una solicitud exitosa. El valor no puede superar los caracteres 20,480.

result_failure_sample

No

String

Ejemplo de respuesta para una solicitud fallida. El valor no puede superar los caracteres 20,480.

authorizer_id

No

String

ID del autorizador personalizado de frontend.

tags

No

Array of strings

Etiquetas.

El valor solo puede contener letras, dígitos y guiones bajos (_), y debe comenzar con una letra. Puedes introducir varias etiquetas y separarlas con comas (,).

Mínimo: 1

Máximo: 128

response_id

No

String

ID de respuesta de grupo.

roma_app_id

No

String

ID de aplicación de integración.

Actualmente, este parámetro no es compatible.

domain_name

No

String

Nombre de dominio personalizado enlazado a la API.

Actualmente, este parámetro no es compatible.

tag

No

String

Etiqueta.

Este campo será obsoleta. Puede utilizar el campo de etiquetas en su lugar.

content_type

No

String

Tipo de contenido de solicitud:

  • application/json

  • application/xml

  • multipart/form-date

  • text/plain

Actualmente, este parámetro no es compatible.

Valores de enumeración:

  • application/json

  • application/xml

  • multipart/form-date

  • text/plain

mock_info

No

ApiMockCreate object

Detalles de backend de Mock.

func_info

No

ApiFuncCreate object

Detalles del backend de FunctionGraph.

req_params

No

Array of ReqParamBase objects

Parámetros de solicitud.

backend_params

No

Array of BackendParamBase objects

Parámetros de backend.

policy_mocks

No

Array of ApiPolicyMockCreate objects

Políticas de backend de Mock.

policy_functions

No

Array of ApiPolicyFunctionCreate objects

Políticas de backend de FunctionGraph.

backend_api

No

BackendApiCreate object

Detalles de backend de Web.

policy_https

No

Array of ApiPolicyHttpCreate objects

Políticas de backend de Web.

Tabla 4 AuthOpt

Parámetro

Obligatorio

Tipo

Descripción

app_code_auth_type

No

String

Indica si la autenticación AppCode está habilitada. Este parámetro solo es válido si auth_type está establecido en App. El valor predeterminado es DISABLE.

  • DISABLE: La autenticación de AppCode está deshabilitada.

  • HEADER: La autenticación de AppCode está habilitada y el AppCode se encuentra en el encabezado.

Predeterminado: DISABLE

Valores de enumeración:

  • DISABLE

  • HEADER

Tabla 5 ApiMockCreate

Parámetro

Obligatorio

Tipo

Descripción

remark

No

String

Descripción. No puede superar los 255 caracteres.

result_content

No

String

Respuesta.

version

No

String

Versión de función. No puede superar los 64 caracteres.

authorizer_id

No

String

ID de autorizador personalizado de backend.

Tabla 6 ApiFuncCreate

Parámetro

Obligatorio

Tipo

Descripción

function_urn

String

Función URN.

remark

No

String

Descripción. No puede superar los 255 caracteres.

invocation_type

String

Modo de invocación.

  • async: asíncrono

  • sync: sincrónico

Valores de enumeración:

  • async

  • sync

network_type

String

Arquitectura de red de funciones.

  • V1: non-VPC

  • V2: VPC

Valores de enumeración:

  • V1

  • V2

version

No

String

Versión de función.

Si se pasa un URN de alias de función y una versión, solo se usará el URN de alias.

Máximo: 64

alias_urn

No

String

URN de alias de función.

Si se pasa un URN de alias de función y una versión, se usará el URN de alias y se ignorará la versión.

timeout

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.

Unidad: ms.

Mínimo: 1

authorizer_id

No

String

ID de autorizador personalizado de backend.

Tabla 7 ReqParamBase

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre del parámetro.

El nombre del parámetro puede contener de 1 a 32 caracteres y debe comenzar con una letra. Solo se permiten letras, dígitos, guiones medios (-), guiones bajos (_) y puntos (.).

type

String

Tipo de parámetro.

Valores de enumeración:

  • STRING

  • NUMBER

location

String

Ubicación del parámetro.

Valores de enumeración:

  • PATH

  • QUERY

  • HEADER

default_value

No

String

Valor predeterminado.

sample_value

No

String

Ejemplo de valor.

required

No

Integer

Indica si el parámetro es necesario. 1: sí 2: no

El valor de este parámetro es 1 si Location se establece en PATH y 2 si Location se establece en otro valor.

Valores de enumeración:

  • 1

  • 2

valid_enable

No

Integer

Indica si la comprobación de validez está activada.

  • 1: habilitado

  • 2: Deshabilitado

Predeterminado: 2

Valores de enumeración:

  • 1

  • 2

remark

No

String

Descripción. No puede superar los 255 caracteres.

enumerations

No

String

Valor enumerado.

min_num

No

Integer

Valor mínimo.

Este parámetro es válido cuando type se establece en NUMBER.

max_num

No

Integer

Valor máximo.

Este parámetro es válido cuando type se establece en NUMBER.

min_size

No

Integer

Longitud mínima.

Este parámetro es válido cuando type se establece en STRING.

max_size

No

Integer

Longitud máxima.

Este parámetro es válido cuando type se establece en STRING.

regular

No

String

Regla de validación de expresiones regulares.

Actualmente, este parámetro no es compatible.

json_schema

No

String

Regla de validación JSON.

Actualmente, este parámetro no es compatible.

pass_through

No

Integer

Indica si se debe transferir el parámetro de forma transparente. 1: sí 2: no

Valores de enumeración:

  • 1

  • 2

Tabla 8 ApiPolicyMockCreate

Parámetro

Obligatorio

Tipo

Descripción

result_content

No

String

Respuesta.

effect_mode

Yes

String

Modo efectivo de la política de backend.

  • ALL: Se cumplen todas las condiciones.

  • ANY: Se cumple cualquier condición.

Valores de enumeración:

  • ALL

  • ANY

name

String

Nombre de backend. Debe comenzar con una letra y puede contener letras, dígitos y guiones bajos (_).

Mínimo: 3

Máximo: 64

backend_params

No

Array of BackendParamBase objects

Parámetros de backend.

conditions

Array of ApiConditionBase objects

Condiciones de política.

authorizer_id

No

String

ID de autorizador personalizado de backend.

Tabla 9 ApiPolicyFunctionCreate

Parámetro

Obligatorio

Tipo

Descripción

function_urn

String

Función URN.

invocation_type

String

Modo de invocación.

  • async: asíncrono

  • sync: sincrónico

Valores de enumeración:

  • async

  • sync

network_type

String

Arquitectura de red de funciones.

  • V1: non-VPC

  • V2: VPC

Valores de enumeración:

  • V1

  • V2

version

No

String

Versión de función.

Si se pasa un URN de alias de función y una versión, se usará el URN de alias y se ignorará la versión.

Máximo: 64

alias_urn

No

String

URN de alias de función.

Si se pasa un URN de alias de función y una versión, se usará el URN de alias y se ignorará la versión.

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.

Unidad: ms.

Mínimo: 1

effect_mode

String

Modo efectivo de la política de backend.

  • ALL: Se cumplen todas las condiciones.

  • ANY: Se cumple cualquier condición.

Valores de enumeración:

  • ALL

  • ANY

name

String

Nombre de backend. Debe comenzar con una letra y puede contener letras, dígitos y guiones bajos (_).

Mínimo: 3

Máximo: 64

backend_params

No

Array of BackendParamBase objects

Parámetros de backend.

conditions

Array of ApiConditionBase objects

Condiciones de política.

authorizer_id

No

String

ID de autorizador personalizado de backend.

Tabla 10 BackendApiCreate

Parámetro

Obligatorio

Tipo

Descripción

authorizer_id

No

String

ID de autorizador personalizado de backend.

url_domain

No

String

Puede consistir en un nombre de dominio o dirección IP y un número de puerto, con no más de 255 caracteres. Debe tener el formato "Nombre del host:número de puerto", por ejemplo, apig.example.com:7443. Si no se especifica el número de puerto, se utiliza el puerto HTTPS 443 predeterminado o el puerto HTTP 80 predeterminado. Se admiten variables de entorno. Cada uno debe comenzar con una letra y puede constar de 3 a 32 caracteres. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_).

req_protocol

String

Solicitud de protocolo.

Valores de enumeración:

  • HTTP

  • HTTPS

remark

No

String

Descripción. No puede superar los 255 caracteres.

req_method

String

Método de solicitud.

Valores de enumeración:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

version

No

String

Versión de backend de web, que puede contener un máximo de 16 caracteres.

req_uri

Yes

String

Solicitud de dirección. Puede contener parámetros de solicitud encerrados con corchetes ({}). Por ejemplo, /getUserInfo/{userId}. Se permiten caracteres especiales, como asteriscos (*), signos de porcentaje (%), guiones (-) y guiones bajos (_). Puede contener un máximo de 512 caracteres y debe cumplir con las especificaciones de URI. Se admiten variables de entorno. Cada uno debe comenzar con una letra y puede constar de 3 a 32 caracteres. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_). El valor debe cumplir con las especificaciones URI.

timeout

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.

Unidad: ms.

Mínimo: 1

enable_client_ssl

No

Boolean

Indica si se debe habilitar la autenticación bidireccional.

retry_count

No

String

Número de reintentos para solicitar el servicio de backend. El valor predeterminado es -1. El valor varía de -1 a 10.

Predeterminado: -1

vpc_channel_info

No

ApiBackendVpcReq object

Detalles del canal de VPC. Este parámetro es necesario si vpc_channel_status se establece en 1.

vpc_channel_status

No

Integer

Indica si se debe utilizar un canal VPC.

  • 1: Se utiliza un canal de VPC.

  • 2: No se utiliza ningún canal de VPC.

Valores de enumeración:

  • 1

  • 2

Tabla 11 ApiPolicyHttpCreate

Parámetro

Obligatorio

Tipo

Descripción

url_domain

No

String

Punto de conexión del backend de la política. Puede consistir en un nombre de dominio o dirección IP y un número de puerto, con no más de 255 caracteres. Debe tener el formato "Domain name:Port number", por ejemplo, apig.example.com:7443. Si no se especifica el número de puerto, se utiliza el puerto HTTPS 443 predeterminado o el puerto HTTP 80 predeterminado. Se admiten variables de entorno. Cada uno debe comenzar con una letra y puede constar de 3 a 32 caracteres. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_).

req_protocol

String

Solicitud de protocolo. El valor puede ser HTTP o HTTPS.

Valores de enumeración:

  • HTTP

  • HTTPS

req_method

String

Método de solicitud. Opciones: GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, ANY.

Valores de enumeración:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

req_uri

String

Solicitud de dirección. Puede contener parámetros de solicitud encerrados con corchetes ({}). Por ejemplo, /getUserInfo/{userId}. Se permiten caracteres especiales, como asteriscos (*), signos de porcentaje (%), guiones (-) y guiones bajos (_). Puede contener un máximo de 512 caracteres y debe cumplir con las especificaciones de URI. Se admiten variables de entorno. Cada uno debe comenzar con una letra y puede constar de 3 a 32 caracteres. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_). El valor debe cumplir con las especificaciones URI.

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.

Unidad: ms.

Mínimo: 1

retry_count

No

String

Número de reintentos para solicitar el servicio de backend. El valor predeterminado es -1. El valor varía de -1 a 10.

Predeterminado: -1

effect_mode

String

Modo efectivo de la política de backend.

  • ALL: Se cumplen todas las condiciones.

  • ANY: Se cumple cualquier condición.

Valores de enumeración:

  • ALL

  • ANY

name

String

Nombre de backend. Debe comenzar con una letra y puede contener letras, dígitos y guiones bajos (_).

Mínimo: 3

Máximo: 64

backend_params

No

Array of BackendParamBase objects

Parámetros de backend.

conditions

Array of ApiConditionBase objects

Condiciones de política.

authorizer_id

No

String

ID de autorizador personalizado de backend.

vpc_channel_info

No

ApiBackendVpcReq object

Detalles del canal de VPC. Este parámetro es necesario si vpc_channel_status se establece en 1.

vpc_channel_status

No

Integer

Indica si se debe utilizar un canal VPC.

  • 1: Se utiliza un canal de VPC.

  • 2: No se utiliza ningún canal de VPC.

Valores de enumeración:

  • 1

  • 2

Tabla 12 BackendParamBase

Parámetro

Obligatorio

Tipo

Descripción

origin

String

Tipo de parámetro.

  • REQUEST: parámetro de backend

  • CONSTANT: parámetro constante

  • SYSTEM: parámetro del sistema

Valores de enumeración:

  • REQUEST

  • CONSTANT

  • SYSTEM

name

String

Nombre del parámetro.

El nombre del parámetro debe comenzar con una letra y solo puede contener letras, dígitos, guiones (-), guiones bajos (_), y puntos (.).

Mínimo: 1

Máximo: 32

remark

No

String

Descripción, que puede contener un máximo de 255 caracteres.

location

String

Ubicación del parámetro. El valor puede ser PATH, QUERY o HEADER.

Valores de enumeración:

  • PATH

  • QUERY

  • HEADER

value

String

Valor del parámetro, que puede contener un máximo de 255 caracteres.

Si el tipo de origen es REQUEST, el valor de este parámetro es el nombre del parámetro en req_params.

Si el tipo de origen es CONSTANT, el valor es una constante.

Si el tipo de origen es SYSTEM, el valor es un nombre de parámetro del sistema. Los parámetros del sistema incluyen parámetros de gateway, parámetros de autenticación front-end y parámetros de autenticación back-end. Puede establecer los parámetros de autenticación front-end o back-end después de habilitar la autenticación front-end o back-end personalizada.

Los parámetros de gateway son los siguientes:

  • $context.sourceIp: dirección IP de origen del llamador de la API.

  • $context.stage: entorno de despliegue en el que se llama a la API.

  • $context.apiId: API ID.

  • $context.appId: ID de la aplicación utilizada por la persona que llama a la API.

  • $context.requestId: ID de solicitud generado cuando se llama a la API.

  • $context.serverAddr: dirección del servidor de gateway.

  • $context.serverName: nombre del servidor de gateway.

  • $context.handleTime: hora en la que se procesa la solicitud de API.

  • $context.providerAppId: ID de la aplicación utilizada por el propietario de la API. Este parámetro no se admite actualmente.

Parámetro de autenticación de frontend: con el prefijo "$context.autorizer.frontend.". Por ejemplo, para devolver "aaa" tras una autenticación personalizada exitosa, establezca este parámetro en "$context.autorizer.frontend.aaa".

Parámetro de autenticación de backend: con el prefijo "$context.autorizer.backend.". Por ejemplo, para devolver "aaa" tras una autenticación personalizada exitosa, establezca este parámetro en "$context.autorizer.backend.aaa".

Tabla 13 ApiConditionBase

Parámetro

Obligatorio

Tipo

Descripción

req_param_name

No

String

Nombre del parámetro de entrada. Este parámetro es necesario si el tipo de política es param.

condition_type

No

String

Condición de la política.

  • exact: coincidencia exacta

  • enum: enumeración

  • pattern: expresión regular

Este parámetro es necesario si el tipo de política es param.

Valores de enumeración:

  • exact

  • enum

  • pattern

condition_origin

String

Tipo de política.

  • param: parámetro de entrada

  • fuente: dirección IP de origen

Valores de enumeración:

  • param

  • source

condition_value

String

Valor de la condición.

Tabla 14 ApiBackendVpcReq

Parámetro

Obligatorio

Tipo

Descripción

vpc_channel_proxy_host

No

String

Proxy host.

vpc_channel_id

String

ID de canal de VPC.

Parámetros de respuesta

Código de estado: 200

Tabla 15 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

name

String

Nombre de API.

Puede contener de 3 a 64 caracteres, empezando por una letra. Solo se permiten letras, dígitos y guiones bajos (_).

type

Integer

Tipo de API.

  • 1: API pública

  • 2: API privada

Valores de enumeración:

  • 1

  • 2

version

String

Versión de la API.

Máximo: 16

req_protocol

String

Solicitud de protocolo.

  • HTTP

  • HTTPS

  • BOTH: Se puede acceder a la API a través de HTTP y HTTPS.

Predeterminado: HTTPS

Valores de enumeración:

  • HTTP

  • HTTPS

  • BOTH

req_method

String

Método de solicitud.

Valores de enumeración:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

req_uri

String

Solicitud de dirección. Puede contener parámetros de solicitud encerrados con corchetes ({}). Por ejemplo, /getUserInfo/{userId}. Se permiten caracteres especiales, como asteriscos (*), signos de porcentaje (%), guiones (-) y guiones bajos (_). Puede contener un máximo de 512 caracteres y debe cumplir con las especificaciones de URI. El valor debe cumplir con las especificaciones de URI.

auth_type

String

Modo de autenticación de API.

  • NONE

  • APP

  • IAM

  • AUTHORIZER

Valores de enumeración:

  • NONE

  • APP

  • IAM

  • AUTHORIZER

auth_opt

AuthOpt object

Parámetro de autenticación de seguridad.

cors

Boolean

Indica si se admite CORS.

  • TRUE: soportado

  • FALSE: no soportado

Predeterminado: false

Valores de enumeración:

  • true

  • false

match_mode

String

Modo de coincidencia de ruta.

  • SWA: coincidencia de prefijo

  • NORMAL: Coincidencia exacta.

El valor predeterminado es NORMAL.

Valores de enumeración:

  • SWA

  • NORMAL

backend_type

String

Tipo de backend.

  • HTTP: backend de web

  • FUNCTION: backend de FunctionGraph

  • MOCK: backend de Mock

Valores de enumeración:

  • HTTP

  • FUNCTION

  • MOCK

remark

String

Descripción de API. No puede superar los 255 caracteres.

group_id

String

ID del grupo de API al que pertenece la API.

body_remark

String

Cuerpo de solicitud de API, que puede ser un cuerpo de solicitud de ejemplo, tipo de medio o parámetros. Asegúrese de que el cuerpo de la solicitud no exceda los caracteres 20,480.

result_normal_sample

String

Ejemplo de respuesta para una solicitud exitosa. El valor no puede superar los caracteres 20,480.

result_failure_sample

String

Ejemplo de respuesta para una solicitud fallida. El valor no puede superar los caracteres 20,480.

authorizer_id

String

ID del autorizador personalizado de frontend.

tags

Array of strings

Etiquetas.

El valor solo puede contener letras, dígitos y guiones bajos (_), y debe comenzar con una letra. Puedes introducir varias etiquetas y separarlas con comas (,).

Mínimo: 1

Máximo: 128

response_id

String

ID de respuesta de grupo.

roma_app_id

String

ID de aplicación de integración.

Actualmente, este parámetro no es compatible.

domain_name

String

Nombre de dominio personalizado enlazado a la API.

Actualmente, este parámetro no es compatible.

tag

String

Etiqueta.

Este campo será obsoleta. Puede utilizar el campo de etiquetas en su lugar.

content_type

String

Tipo de contenido de solicitud:

  • application/json

  • application/xml

  • multipart/form-date

  • text/plain

Actualmente, este parámetro no es compatible.

Valores de enumeración:

  • application/json

  • application/xml

  • multipart/form-date

  • text/plain

id

String

ID de API.

status

Integer

Estado de la aplicación.

  • 1: válido

arrange_necessary

Integer

Indica si se debe habilitar la orquestación.

register_time

String

Hora en que se registra la API.

update_time

String

Hora en la que se modificó por última vez la API.

group_name

String

Nombre del grupo de API al que pertenece la API.

group_version

String

Versión del grupo de API al que pertenece la API.

El valor predeterminado es V1. Otras versiones no son compatibles.

Predeterminado: V1

run_env_id

String

ID del entorno en el que se ha publicado la API.

Separar varios ID de entorno con barras verticales (|).

run_env_name

String

Nombre del entorno en el que se ha publicado la API.

Separar varios nombres de entorno con barras verticales (|).

publish_id

String

ID del registro de publicación.

Separar varios ID de registro de publicación con barras verticales (|).

publish_time

String

Tiempo de publicación.

Separar el tiempo de varios registros de publicación con barras verticales (|).

roma_app_name

String

Nombre de la aplicación de integración a la que pertenece la API.

Actualmente, este parámetro no es compatible.

ld_api_id

String

ID de la API de backend personalizada correspondiente.

Actualmente, este parámetro no es compatible.

backend_api

BackendApi object

Detalles de backend de Web.

api_group_info

ApiGroupCommonInfo object

Información de grupo de API.

func_info

ApiFunc object

Detalles del backend de FunctionGraph.

mock_info

ApiMock object

Detalles de backend de Mock.

req_params

Array of ReqParam objects

Parámetros de solicitud.

backend_params

Array of BackendParam objects

Parámetros de backend.

policy_functions

Array of ApiPolicyFunctionResp objects

Políticas de backend de FunctionGraph.

policy_mocks

Array of ApiPolicyMockResp objects

Políticas de backend de Mock.

policy_https

Array of ApiPolicyHttpResp objects

Políticas de backend de Web.

Tabla 16 AuthOpt

Parámetro

Tipo

Descripción

app_code_auth_type

String

Indica si la autenticación AppCode está habilitada. Este parámetro solo es válido si auth_type está establecido en App. El valor predeterminado es DISABLE.

  • DISABLE: La autenticación de AppCode está deshabilitada.

  • HEADER: La autenticación de AppCode está habilitada y el AppCode se encuentra en el encabezado.

Predeterminado: DISABLE

Valores de enumeración:

  • DISABLE

  • HEADER

Tabla 17 BackendApi

Parámetro

Tipo

Descripción

authorizer_id

String

ID de autorizador personalizado de backend.

url_domain

String

Puede consistir en un nombre de dominio o dirección IP y un número de puerto, con no más de 255 caracteres. Debe tener el formato "Nombre del host:número de puerto", por ejemplo, apig.example.com:7443. Si no se especifica el número de puerto, se utiliza el puerto HTTPS 443 predeterminado o el puerto HTTP 80 predeterminado. Se admiten variables de entorno. Cada uno debe comenzar con una letra y puede constar de 3 a 32 caracteres. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_).

req_protocol

String

Solicitud de protocolo.

Valores de enumeración:

  • HTTP

  • HTTPS

remark

String

Descripción. No puede superar los 255 caracteres.

req_method

String

Método de solicitud.

Valores de enumeración:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

version

String

Versión de backend de web, que puede contener un máximo de 16 caracteres.

req_uri

String

Solicitud de dirección. Puede contener parámetros de solicitud encerrados con corchetes ({}). Por ejemplo, /getUserInfo/{userId}. Se permiten caracteres especiales, como asteriscos (*), signos de porcentaje (%), guiones (-) y guiones bajos (_). Puede contener un máximo de 512 caracteres y debe cumplir con las especificaciones de URI. Se admiten variables de entorno. Cada uno debe comenzar con una letra y puede constar de 3 a 32 caracteres. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_). El valor debe cumplir con las especificaciones URI.

timeout

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.

Unidad: ms.

Mínimo: 1

enable_client_ssl

Boolean

Indica si se debe habilitar la autenticación bidireccional.

retry_count

String

Número de reintentos para solicitar el servicio de backend. El valor predeterminado es -1. El valor varía de -1 a 10.

Predeterminado: -1

id

String

ID.

status

Integer

Estado del servicio de backend.

  • 1: válido

register_time

String

Tiempo de registro.

update_time

String

Hora de actualización.

vpc_channel_info

VpcInfo object

Detalles del canal de VPC. Este parámetro es necesario si vpc_channel_status se establece en 1.

vpc_channel_status

Integer

Indica si se debe utilizar un canal VPC.

  • 1: Se utiliza un canal de VPC.

  • 2: No se utiliza ningún canal de VPC.

Tabla 18 ApiGroupCommonInfo

Parámetro

Tipo

Descripción

id

String

ID.

name

String

Nombre del grupo API.

status

Integer

Estado.

  • 1: válido

Valores de enumeración:

  • 1

sl_domain

String

Nombre de subdominio que APIG asigna automáticamente al grupo de API.

register_time

String

Hora de creación.

update_time

String

Hora de la última modificación.

on_sell_status

Integer

Indica si el grupo de API aparece en la lista KooGallery.

  • 1: listed

  • 2: not listed

  • 3: under review

url_domains

Array of UrlDomain objects

Nombres de dominio independientes enlazados al grupo API.

Tabla 19 UrlDomain

Parámetro

Tipo

Descripción

id

String

ID de dominio.

domain

String

Nombre de dominio.

cname_status

Integer

Estado de resolución CNAME del nombre de dominio.

  • 1: not resolved

  • 2: resolving

  • 3: resolved

  • 4: resolution failed

ssl_id

String

ID de certificado SSL.

ssl_name

String

Nombre del certificado SSL.

min_ssl_version

String

Versión mínima de SSL. Se admiten TLS 1.1 y TLS 1.2.

Predeterminado: TLSv1.1

Valores de enumeración:

  • TLSv1.1

  • TLSv1.2

Tabla 20 ApiFunc

Parámetro

Tipo

Descripción

function_urn

String

Función URN.

remark

String

Descripción. No puede superar los 255 caracteres.

invocation_type

String

Modo de invocación.

  • async: asíncrono

  • sync: sincrónico

Valores de enumeración:

  • async

  • sync

network_type

String

Arquitectura de red de funciones.

  • V1: non-VPC

  • V2: VPC

Valores de enumeración:

  • V1

  • V2

version

String

Versión de función.

Si se pasa un URN de alias de función y una versión, solo se usará el URN de alias.

Máximo: 64

alias_urn

String

URN de alias de función.

Si se pasa un URN de alias de función y una versión, se usará el URN de alias y se ignorará la versión.

timeout

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.

Unidad: ms.

Mínimo: 1

authorizer_id

String

ID de autorizador personalizado de backend.

id

String

ID.

register_time

String

Tiempo de registro.

status

Integer

Estado del servicio de backend.

  • 1: válido

update_time

String

Hora de actualización.

Tabla 21 ApiMock

Parámetro

Tipo

Descripción

remark

String

Descripción. It cannot exceed 255 characters.

result_content

String

Respuesta.

version

String

Versión de función. No puede superar los 64 caracteres.

authorizer_id

String

ID de autorizador personalizado de backend.

id

String

ID.

register_time

String

Tiempo de registro.

status

Integer

Estado del servicio de backend.

  • 1: válido

update_time

String

Hora de actualización.

Tabla 22 ReqParam

Parámetro

Tipo

Descripción

name

String

Nombre del parámetro.

El nombre del parámetro puede contener de 1 a 32 caracteres y debe comenzar con una letra. Solo se permiten letras, dígitos, guiones medios (-), guiones bajos (_) y puntos (.).

type

String

Tipo de parámetro.

Valores de enumeración:

  • STRING

  • NUMBER

location

String

Ubicación del parámetro.

Valores de enumeración:

  • PATH

  • QUERY

  • HEADER

default_value

String

Valor predeterminado.

sample_value

String

Ejemplo de valor.

required

Integer

Indica si el parámetro es necesario. 1: sí 2: no

El valor de este parámetro es 1 si Location se establece en PATH y 2 si Location se establece en otro valor.

Valores de enumeración:

  • 1

  • 2

valid_enable

Integer

Indica si la comprobación de validez está activada.

  • 1: habilitado

  • 2: Deshabilitado

Predeterminado: 2

Valores de enumeración:

  • 1

  • 2

remark

String

Descripción. No puede superar los 255 caracteres.

enumerations

String

Valor enumerado.

min_num

Integer

Valor mínimo.

Este parámetro es válido cuando type se establece en NUMBER.

max_num

Integer

Valor máximo.

Este parámetro es válido cuando type se establece en NUMBER.

min_size

Integer

Longitud mínima.

Este parámetro es válido cuando type se establece en STRING.

max_size

Integer

Longitud máxima.

Este parámetro es válido cuando type se establece en STRING.

regular

String

Regla de validación de expresiones regulares.

Actualmente, este parámetro no es compatible.

json_schema

String

Regla de validación JSON.

Actualmente, este parámetro no es compatible.

pass_through

Integer

Indica si se debe transferir el parámetro de forma transparente. 1: sí 2: no

Valores de enumeración:

  • 1

  • 2

id

String

ID del parámetro.

Tabla 23 ApiPolicyFunctionResp

Parámetro

Tipo

Descripción

function_urn

String

Función URN.

invocation_type

String

Modo de invocación.

  • async: asíncrono

  • sync: sincrónico

Valores de enumeración:

  • async

  • sync

network_type

String

Arquitectura de red de funciones.

  • V1: non-VPC

  • V2: VPC

Valores de enumeración:

  • V1

  • V2

version

String

Versión de función.

Si se pasa un URN de alias de función y una versión, se usará el URN de alias y se ignorará la versión.

Máximo: 64

alias_urn

String

URN de alias de función.

Si se pasa un URN de alias de función y una versión, se usará el URN de alias y se ignorará la versión.

timeout

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.

Unidad: ms.

Mínimo: 1

id

String

ID.

effect_mode

String

Modo efectivo de la política de backend.

  • ALL: Se cumplen todas las condiciones.

  • ANY: Se cumple cualquier condición.

Valores de enumeración:

  • ALL

  • ANY

name

String

Nombre de backend, que debe comenzar con una letra y puede contener letras, dígitos y guiones bajos (_).

Mínimo: 3

Máximo: 64

backend_params

Array of BackendParam objects

Parámetros de backend.

conditions

Array of CoditionResp objects

Condiciones de política.

authorizer_id

String

ID de autorizador personalizado de backend.

Tabla 24 ApiPolicyMockResp

Parámetro

Tipo

Descripción

id

String

ID.

effect_mode

String

Modo efectivo de la política de backend.

  • ALL: Se cumplen todas las condiciones.

  • ANY: Se cumple cualquier condición.

Valores de enumeración:

  • ALL

  • ANY

name

String

Nombre de backend, que debe comenzar con una letra y puede contener letras, dígitos y guiones bajos (_).

Mínimo: 3

Máximo: 64

backend_params

Array of BackendParam objects

Parámetros de backend.

conditions

Array of CoditionResp objects

Condiciones de política.

authorizer_id

String

ID de autorizador personalizado de backend.

result_content

String

Respuesta.

Tabla 25 ApiPolicyHttpResp

Parámetro

Tipo

Descripción

id

String

ID.

effect_mode

String

Modo efectivo de la política de backend.

  • ALL: Se cumplen todas las condiciones.

  • ANY: Se cumple cualquier condición.

Valores de enumeración:

  • ALL

  • ANY

name

String

Nombre de backend, que debe comenzar con una letra y puede contener letras, dígitos y guiones bajos (_).

Mínimo: 3

Máximo: 64

backend_params

Array of BackendParam objects

Parámetros de backend.

conditions

Array of CoditionResp objects

Condiciones de política.

authorizer_id

String

ID de autorizador personalizado de backend.

url_domain

String

Punto de conexión del backend de la política. Puede consistir en un nombre de dominio o dirección IP y un número de puerto, con no más de 255 caracteres. Debe tener el formato "Domain name:Port number", por ejemplo, apig.example.com:7443. Si no se especifica el número de puerto, se utiliza el puerto HTTPS 443 predeterminado o el puerto HTTP 80 predeterminado. Se admiten variables de entorno. Cada uno debe comenzar con una letra y puede constar de 3 a 32 caracteres. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_).

req_protocol

String

Solicitud de protocolo. El valor puede ser HTTP o HTTPS.

Valores de enumeración:

  • HTTP

  • HTTPS

req_method

String

Método de solicitud. Opciones: GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, ANY.

Valores de enumeración:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

req_uri

String

Solicitud de dirección. Puede contener parámetros de solicitud encerrados con corchetes ({}). Por ejemplo, /getUserInfo/{userId}. Se permiten caracteres especiales, como asteriscos (*), signos de porcentaje (%), guiones (-) y guiones bajos (_). Puede contener un máximo de 512 caracteres y debe cumplir con las especificaciones de URI. Se admiten variables de entorno. Cada uno debe comenzar con una letra y puede constar de 3 a 32 caracteres. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_). El valor debe cumplir con las especificaciones URI.

timeout

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.

Unidad: ms.

Mínimo: 1

retry_count

String

Número de reintentos para solicitar el servicio de backend. El valor predeterminado es -1. El valor varía de -1 a 10.

Predeterminado: -1

vpc_channel_info

VpcInfo object

Detalles del canal de VPC. Este parámetro es necesario si vpc_channel_status se establece en 1.

vpc_channel_status

Integer

Indica si se debe utilizar un canal VPC.

  • 1: Se utiliza un canal de VPC.

  • 2: No se utiliza ningún canal de VPC.

Tabla 26 BackendParam

Parámetro

Tipo

Descripción

origin

String

Tipo de parámetro.

  • REQUEST: parámetro de backend

  • CONSTANT: parámetro constante

  • SYSTEM: parámetro del sistema

Valores de enumeración:

  • REQUEST

  • CONSTANT

  • SYSTEM

name

String

Nombre del parámetro.

El nombre del parámetro debe comenzar con una letra y solo puede contener letras, dígitos, guiones (-), guiones bajos (_), y puntos (.).

Mínimo: 1

Máximo: 32

remark

String

Descripción, que puede contener un máximo de 255 caracteres.

location

String

Ubicación del parámetro. El valor puede ser PATH, QUERY o HEADER.

Valores de enumeración:

  • PATH

  • QUERY

  • HEADER

value

String

Valor del parámetro, que puede contener un máximo de 255 caracteres.

Si el tipo de origen es REQUEST, el valor de este parámetro es el nombre del parámetro en req_params.

Si el tipo de origen es CONSTANT, el valor es una constante.

Si el tipo de origen es SYSTEM, el valor es un nombre de parámetro del sistema. Los parámetros del sistema incluyen parámetros de gateway, parámetros de autenticación front-end y parámetros de autenticación back-end. Puede establecer los parámetros de autenticación front-end o back-end después de habilitar la autenticación front-end o back-end personalizada.

Los parámetros de gateway son los siguientes:

  • $context.sourceIp: dirección IP de origen del llamador de la API.

  • $context.stage: entorno de despliegue en el que se llama a la API.

  • $context.apiId: API ID.

  • $context.appId: ID de la aplicación utilizada por la persona que llama a la API.

  • $context.requestId: ID de solicitud generado cuando se llama a la API.

  • $context.serverAddr: dirección del servidor de gateway.

  • $context.serverName: nombre del servidor de gateway.

  • $context.handleTime: hora en la que se procesa la solicitud de API.

  • $context.providerAppId: ID de la aplicación utilizada por el propietario de la API. Este parámetro no se admite actualmente.

Parámetro de autenticación de frontend: con el prefijo "$context.autorizer.frontend.". Por ejemplo, para devolver "aaa" tras una autenticación personalizada exitosa, establezca este parámetro en "$context.autorizer.frontend.aaa".

Parámetro de autenticación de backend: con el prefijo "$context.autorizer.backend.". Por ejemplo, para devolver "aaa" tras una autenticación personalizada exitosa, establezca este parámetro en "$context.autorizer.backend.aaa".

id

String

ID del parámetro.

req_param_id

String

ID de parámetro de solicitud.

Tabla 27 CoditionResp

Parámetro

Tipo

Descripción

req_param_name

String

Nombre del parámetro de entrada. Este parámetro es necesario si el tipo de política es param.

condition_type

String

Condición de la política.

  • exact: coincidencia exacta

  • enum: enumeración

  • pattern: expresión regular

Este parámetro es necesario si el tipo de política es param.

Valores de enumeración:

  • exact

  • enum

  • pattern

condition_origin

String

Tipo de política.

  • param: parámetro de entrada

  • fuente: dirección IP de origen

Valores de enumeración:

  • param

  • source

condition_value

String

Valor de la condición.

id

String

ID.

req_param_id

String

ID de parámetro de entrada.

req_param_location

String

Ubicación del parámetro de entrada.

Tabla 28 VpcInfo

Parámetro

Tipo

Descripción

ecs_id

String

ID de servidor en la nube.

ecs_name

String

Nombre del servidor en la nube.

cascade_flag

Boolean

Indica si se utiliza el modo en cascada.

Actualmente, este parámetro no es compatible.

vpc_channel_proxy_host

String

Proxy host.

vpc_channel_id

String

ID de canal de VPC.

vpc_channel_port

Integer

Puerto de canal de VPC.

Código de estado: 400

Tabla 29 Parámetros de body 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 30 Parámetros de body 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 31 Parámetros de body 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 32 Parámetros de body 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 33 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Solicitudes de ejemplo

{
  "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
  "match_mode" : "NORMAL",
  "name" : "Api_http",
  "auth_type" : "APP",
  "backend_type" : "HTTP",
  "backend_api" : {
    "vpc_channel_status" : 1,
    "vpc_channel_info" : {
      "vpc_channel_id" : "56a7d7358e1b42459c9d730d65b14e59",
      "vpc_channel_proxy_host" : "www.example.com"
    },
    "req_protocol" : "HTTPS",
    "req_method" : "GET",
    "req_uri" : "/test/benchmark",
    "timeout" : 5000,
    "retry_count" : "-1"
  },
  "cors" : false,
  "req_protocol" : "HTTPS",
  "req_uri" : "/test/http",
  "remark" : "Web backend API",
  "type" : 1,
  "req_method" : "GET",
  "result_normal_sample" : "Example success response",
  "result_failure_sample" : "Example failure response",
  "backend_params" : [ {
    "name" : "X-CONSTANT-HEADER",
    "value" : "demo",
    "location" : "HEADER",
    "origin" : "CONSTANT",
    "remark" : "constant_demo"
  }, {
    "name" : "app-id",
    "value" : "$context.appId",
    "location" : "HEADER",
    "origin" : "SYSTEM",
    "remark" : "App ID of the API caller"
  } ],
  "tags" : [ "webApi" ]
}

Ejemplo de respuestas

Código de estado: 200

OK

{
  "id" : "5f918d104dc84480a75166ba99efff21",
  "tags" : [ "webApi" ],
  "arrange_necessary" : 2,
  "backend_type" : "HTTP",
  "auth_type" : "APP",
  "auth_opt" : {
    "app_code_auth_type" : "DISABLE"
  },
  "backend_api" : {
    "update_time" : "2020-08-02T16:32:47.077028841Z",
    "vpc_channel_status" : 1,
    "vpc_channel_info" : {
      "vpc_channel_id" : "56a7d7358e1b42459c9d730d65b14e59",
      "vpc_channel_proxy_host" : "www.example.com"
    },
    "url_domain" : "56a7d7358e1b42459c9d730d65b14e59",
    "req_protocol" : "HTTPS",
    "id" : "1ce8fda3586d4371bd83c955df37e102",
    "req_method" : "GET",
    "register_time" : "2020-07-31T12:42:51Z",
    "req_uri" : "/test/benchmark",
    "timeout" : 5000,
    "status" : 1,
    "retry_count" : "-1"
  },
  "cors" : false,
  "status" : 1,
  "group_name" : "api_group_001",
  "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
  "group_version" : "V1",
  "match_mode" : "NORMAL",
  "name" : "Api_http",
  "req_protocol" : "HTTPS",
  "req_method" : "GET",
  "req_uri" : "/test/http",
  "type" : 1,
  "version" : "V0.0.1",
  "result_normal_sample" : "Example success response",
  "result_failure_sample" : "Example failure response",
  "register_time" : "2020-07-31T12:42:51Z",
  "update_time" : "2020-08-02T16:32:47.046288842Z",
  "remark" : "Web backend API",
  "backend_params" : [ {
    "name" : "X-CONSTANT-HEADER",
    "value" : "demo",
    "location" : "HEADER",
    "origin" : "CONSTANT",
    "remark" : "constant_demo",
    "id" : "8cb2eba19e7a4423a4e835647a8b8d76"
  }, {
    "name" : "app-id",
    "value" : "$context.appId",
    "location" : "HEADER",
    "origin" : "SYSTEM",
    "remark" : "App ID of the API caller",
    "id" : "216ddda836e74d528f364ff589d9dd21"
  } ]
}

Código de estado: 400

Bad Request

{
  "error_code" : "APIG.2011",
  "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
}

Código de estado: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

Código de estado: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

Código de estado: 404

Not Found

{
  "error_code" : "APIG.3002",
  "error_msg" : "API 5f918d104dc84480a75166ba99efff21 does not exist"
}

Código de estado: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

Códigos de estado

Código de estado

Descripción

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Códigos de error

Consulte Códigos de error.