Registrar una API
Función
Esta API se utiliza para crear una API. API es una interfaz que encapsula un conjunto de capacidades de servicio. La definición de una API define cómo los usuarios llaman a la API y cómo APIG accede al servicio de backend real solicitado por los usuarios. APIG admite tres tipos de backend: HTTP/HTTPS web, FunctionGraph y Mock.
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/apis
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
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 |
Sí |
String |
Gateway ID, que se puede obtener de la información de gateway en la consola APIG. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
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 |
Sí |
Integer |
Tipo de API.
Valores de enumeración:
|
version |
No |
String |
Versión de la API. Máximo: 16 |
req_protocol |
Sí |
String |
Solicitud de protocolo.
Predeterminado: HTTPS Valores de enumeración:
|
req_method |
Sí |
String |
Método de solicitud. Valores de enumeración:
|
req_uri |
Sí |
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 |
Sí |
String |
Modo de autenticación de API.
Valores de enumeración:
|
auth_opt |
No |
AuthOpt object |
Parámetro de autenticación de seguridad. |
cors |
No |
Boolean |
Indica si se admite CORS.
Predeterminado: false Valores de enumeración:
|
match_mode |
No |
String |
Modo de coincidencia de ruta.
El valor predeterminado es NORMAL. Valores de enumeración:
|
backend_type |
Sí |
String |
Tipo de backend.
Valores de enumeración:
|
remark |
No |
String |
Descripción de API. No puede superar los 255 caracteres. |
group_id |
Sí |
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:
Actualmente, este parámetro no es compatible. Valores de enumeración:
|
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. |
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.
Predeterminado: DISABLE Valores de enumeración:
|
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
function_urn |
Yes |
String |
Función URN. |
remark |
No |
String |
Descripción. No puede superar los 255 caracteres. |
invocation_type |
Sí |
String |
Modo de invocación.
Valores de enumeración:
|
network_type |
Sí |
String |
Arquitectura de red de funciones.
Valores de enumeración:
|
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 |
Sí |
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
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 |
Sí |
String |
Tipo de parámetro. Valores de enumeración:
|
location |
Sí |
String |
Ubicación del parámetro. Valores de enumeración:
|
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:
|
valid_enable |
No |
Integer |
Indica si la comprobación de validez está activada.
Predeterminado: 2 Valores de enumeración:
|
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:
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
result_content |
No |
String |
Respuesta. |
effect_mode |
Yes |
String |
Modo efectivo de la política de backend.
Valores de enumeración:
|
name |
Sí |
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 |
Sí |
Array of ApiConditionBase objects |
Condiciones de política. |
authorizer_id |
No |
String |
ID de autorizador personalizado de backend. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
function_urn |
Sí |
String |
Función URN. |
invocation_type |
Sí |
String |
Modo de invocación.
Valores de enumeración:
|
network_type |
Sí |
String |
Arquitectura de red de funciones.
Valores de enumeración:
|
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 |
Sí |
String |
Modo efectivo de la política de backend.
Valores de enumeración:
|
name |
Sí |
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 |
Sí |
Array of ApiConditionBase objects |
Condiciones de política. |
authorizer_id |
No |
String |
ID de autorizador personalizado de backend. |
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 |
Sí |
String |
Solicitud de protocolo. Valores de enumeración:
|
remark |
No |
String |
Descripción. No puede superar los 255 caracteres. |
req_method |
Sí |
String |
Método de solicitud. Valores de enumeración:
|
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 |
Sí |
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.
Valores de enumeración:
|
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 |
Sí |
String |
Solicitud de protocolo. El valor puede ser HTTP o HTTPS. Valores de enumeración:
|
req_method |
Sí |
String |
Método de solicitud. Opciones: GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, ANY. Valores de enumeración:
|
req_uri |
Sí |
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 |
Sí |
String |
Modo efectivo de la política de backend.
Valores de enumeración:
|
name |
Sí |
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 |
Sí |
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.
Valores de enumeración:
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
origin |
Sí |
String |
Tipo de parámetro.
Valores de enumeración:
|
name |
Sí |
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 |
Sí |
String |
Ubicación del parámetro. El valor puede ser PATH, QUERY o HEADER. Valores de enumeración:
|
value |
Sí |
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:
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". |
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.
Este parámetro es necesario si el tipo de política es param. Valores de enumeración:
|
condition_origin |
Sí |
String |
Tipo de política.
Valores de enumeración:
|
condition_value |
Sí |
String |
Valor de la condición. |
Parámetros de respuesta
Código de estado: 201
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.
Valores de enumeración:
|
version |
String |
Versión de la API. Máximo: 16 |
req_protocol |
String |
Solicitud de protocolo.
Predeterminado: HTTPS Valores de enumeración:
|
req_method |
String |
Método de solicitud. Valores de enumeración:
|
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.
Valores de enumeración:
|
auth_opt |
AuthOpt object |
Parámetro de autenticación de seguridad. |
cors |
Boolean |
Indica si se admite CORS.
Predeterminado: false Valores de enumeración:
|
match_mode |
String |
Modo de coincidencia de ruta.
El valor predeterminado es NORMAL. Valores de enumeración:
|
backend_type |
String |
Tipo de backend.
Valores de enumeración:
|
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:
Actualmente, este parámetro no es compatible. Valores de enumeración:
|
id |
String |
ID de API. |
status |
Integer |
Estado de la aplicación.
|
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. |
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.
Predeterminado: DISABLE Valores de enumeración:
|
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:
|
remark |
String |
Descripción. No puede superar los 255 caracteres. |
req_method |
String |
Método de solicitud. Valores de enumeración:
|
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.
|
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.
|
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
ID. |
name |
String |
Nombre del grupo API. |
status |
Integer |
Estado.
Valores de enumeración:
|
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.
|
url_domains |
Array of UrlDomain objects |
Nombres de dominio independientes enlazados al grupo API. |
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.
|
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:
|
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.
Valores de enumeración:
|
network_type |
String |
Arquitectura de red de funciones.
Valores de enumeración:
|
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.
|
update_time |
String |
Hora de actualización. |
Parámetro |
Tipo |
Descripción |
---|---|---|
remark |
String |
Descripción. No puede superar los 255 caracteres. |
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.
|
update_time |
String |
Hora de actualización. |
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:
|
location |
String |
Ubicación del parámetro. Valores de enumeración:
|
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:
|
valid_enable |
Integer |
Indica si la comprobación de validez está activada.
Predeterminado: 2 Valores de enumeración:
|
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:
|
id |
String |
ID del parámetro. |
Parámetro |
Tipo |
Descripción |
---|---|---|
function_urn |
String |
Función URN. |
invocation_type |
String |
Modo de invocación.
Valores de enumeración:
|
network_type |
String |
Arquitectura de red de funciones.
Valores de enumeración:
|
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.
Valores de enumeración:
|
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. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
ID. |
effect_mode |
String |
Modo efectivo de la política de backend.
Valores de enumeración:
|
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. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
ID. |
effect_mode |
String |
Modo efectivo de la política de backend.
Valores de enumeración:
|
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:
|
req_method |
String |
Método de solicitud. Opciones: GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, ANY. Valores de enumeración:
|
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.
|
Parámetro |
Tipo |
Descripción |
---|---|---|
origin |
String |
Tipo de parámetro.
Valores de enumeración:
|
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:
|
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:
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. |
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.
Este parámetro es necesario si el tipo de política es param. Valores de enumeración:
|
condition_origin |
String |
Tipo de política.
Valores de enumeración:
|
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. |
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
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. |
Solicitudes de ejemplo
-
Creación de una API de backend web
{ "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "NORMAL", "name" : "Api_http", "auth_type" : "AUTHORIZER", "authorizer_id" : "0d982c1ac3da493dae47627b6439fc5c", "backend_type" : "HTTP", "backend_api" : { "url_domain" : "100.95.189.156:12346", "req_protocol" : "HTTP", "req_method" : "GET", "req_uri" : "/test/benchmark", "timeout" : 5000, "retry_count" : "-1" }, "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", "tags" : [ "webApi" ], "req_params" : [ { "name" : "query_demo", "location" : "QUERY", "type" : "STRING", "required" : 1 }, { "name" : "header-demo", "location" : "HEADER", "type" : "STRING", "required" : 2 } ], "backend_params" : [ { "name" : "backHeader", "value" : "header-demo", "location" : "HEADER", "origin" : "REQUEST" }, { "name" : "backQuery", "value" : "query_demo", "location" : "QUERY", "origin" : "REQUEST" }, { "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" } ] }
-
Creación de una API de backend de FunctionGraph
{ "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "NORMAL", "name" : "Api_function", "auth_type" : "APP", "backend_type" : "FUNCTION", "func_info" : { "authorizer_id" : "5b8cd3f06f004115aec69c58f57272c9", "function_urn" : "'urn:fss:xx-xxx-7:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749'", "invocation_type" : "sync", "network_type" : "V1", "timeout" : 5000, "version" : "latest", "alias_urn" : "urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749:!a1" }, "req_protocol" : "HTTPS", "req_uri" : "/test/function", "remark" : "FunctionGraph backend API", "type" : 1, "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "tags" : [ "functionApi" ] }
-
Creación de una API de backend de Mock
{ "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "SWA", "name" : "Api_mock", "auth_type" : "IAM", "backend_type" : "MOCK", "mock_info" : { "result_content" : "mock success" }, "policy_mocks" : [ { "name" : "Mock policy backend", "effect_mode" : "ANY", "result_content" : "mock policy success", "conditions" : [ { "condition_origin" : "source", "condition_value" : "1.0.1.0" } ] } ], "req_protocol" : "HTTPS", "req_uri" : "/test/mock", "remark" : "Mock backend API", "type" : 1, "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "tags" : [ "mockApi" ] }
Ejemplo de respuestas
Código de estado: 201
Created
-
Ejemplo 1
{ "id" : "5f918d104dc84480a75166ba99efff21", "tags" : [ "webApi" ], "arrange_necessary" : 2, "backend_type" : "HTTP", "auth_type" : "AUTHORIZER", "auth_opt" : { "app_code_auth_type" : "DISABLE" }, "authorizer_id" : "0d982c1ac3da493dae47627b6439fc5c", "backend_api" : { "update_time" : "2020-07-31T12:42:51.325312994Z", "vpc_channel_status" : 2, "url_domain" : "100.95.189.156:12346", "req_protocol" : "HTTP", "id" : "1ce8fda3586d4371bd83c955df37e102", "req_method" : "GET", "register_time" : "2020-07-31T12:42:51.325312721Z", "req_uri" : "/benchmark", "timeout" : 5000, "status" : 1, "retry_count" : "-1" }, "cors" : false, "status" : 1, "group_name" : "api_group_001", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_version" : "V1", "response_id" : "981e6c8f847f47199a9faf4409b751a5", "match_mode" : "NORMAL", "name" : "Api_http", "req_protocol" : "HTTPS", "req_method" : "GET", "req_uri" : "/test/http", "type" : 1, "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "version" : "V0.0.1", "register_time" : "2020-07-31T12:42:51.314357035Z", "update_time" : "2020-07-31T12:42:51.314357324Z", "remark" : "Web backend API", "req_params" : [ { "name" : "query_demo", "location" : "QUERY", "type" : "STRING", "valid_enable" : 2, "required" : 1, "id" : "57c8bf3c97ef40ee94eace95dff30014", "pass_through" : 1 }, { "name" : "header-demo", "location" : "HEADER", "type" : "STRING", "valid_enable" : 2, "required" : 2, "id" : "8d993be96980415faa6b1fb2ebd647e0", "pass_through" : 1 } ], "backend_params" : [ { "name" : "backHeader", "value" : "header-demo", "location" : "HEADER", "origin" : "REQUEST", "id" : "709f0ea376b44aaf907aaaa37d8cce92", "req_param_id" : "8d993be96980415faa6b1fb2ebd647e0" }, { "name" : "backQuery", "value" : "query_demo", "location" : "QUERY", "origin" : "REQUEST", "id" : "2f152d0fb54445039158d29c2a4f69ee", "req_param_id" : "57c8bf3c97ef40ee94eace95dff30014" }, { "name" : "X-CONSTANT-HEADER", "value" : "demo", "location" : "HEADER", "origin" : "CONSTANT", "remark" : "constant_demo", "id" : "20142102c6aa4f3c97d5fd6ef4010ac2" }, { "name" : "app-id", "value" : "$context.appId", "location" : "HEADER", "origin" : "SYSTEM", "remark" : "App ID of the API caller", "id" : "a1349c61016e4d999ca783a50bfeee2b" } ] }
-
Ejemplo 2
{ "id" : "abd9c4b2ff974888b0ba79be7e6b2763", "arrange_necessary" : 2, "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_name" : "api_group_001", "group_version" : "V1", "match_mode" : "NORMAL", "name" : "Api_function", "auth_type" : "APP", "auth_opt" : { "auth_code_auth_type" : "DISABLE" }, "backend_type" : "FUNCTION", "func_info" : { "id" : "c0740524cd4c40e3801a7afe5375f8b0", "authorizer_id" : "5b8cd3f06f004115aec69c58f57272c9", "function_urn" : "'urn:fss:xx-xxx-7:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749'", "invocation_type" : "sync", "network_type" : "V1", "timeout" : 5000, "version" : "latest", "alias_urn" : "urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc00000:!a1", "register_time" : "2020-08-02T15:36:19.897262803Z", "update_time" : "2020-08-02T15:36:19.897262993Z", "status" : 1 }, "cors" : false, "req_protocol" : "HTTPS", "req_uri" : "/test/function", "remark" : "FunctionGraph backend API", "type" : 1, "version" : "V0.0.1", "status" : 1, "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "tags" : [ "functionApi" ], "register_time" : "2020-08-02T15:36:19.892012381Z", "update_time" : "2020-08-02T15:36:19.892012627Z" }
-
Ejemplo 3
{ "id" : "3a955b791bd24b1c9cd94c745f8d1aad", "arrange_necessary" : 2, "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_name" : "api_group_001", "group_version" : "V1", "match_mode" : "SWA", "name" : "Api_mock", "auth_type" : "IAM", "auth_opt" : { "auth_code_auth_type" : "DISABLE" }, "backend_type" : "MOCK", "mock_info" : { "id" : "e74bbc75825c4c38ae84ccab6bdc6175", "result_content" : "mock success", "update_time" : "2020-08-02T15:56:52.301790686Z", "register_time" : "2020-08-02T15:56:52.301790367Z" }, "policy_mocks" : [ { "name" : "Mock policy backend", "id" : "1cb05173a4c84b7d996e30145cce3c7d", "effect_mode" : "ANY", "result_content" : "mock policy success", "conditions" : [ { "condition_origin" : "source", "condition_value" : "1.0.1.0", "id" : "8650b3a94e7344df8251658d8aee1f6d" } ] } ], "cors" : false, "req_protocol" : "HTTPS", "req_uri" : "/test/mock", "remark" : "Mock backend API", "type" : 1, "version" : "V0.0.1", "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "tags" : [ "mockApi" ], "register_time" : "2020-08-02T15:56:52.286099413Z", "update_time" : "2020-08-02T15:56:52.286099715Z", "status" : 1 }
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.3019", "error_msg" : "The function URN 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 |
---|---|
201 |
Created |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
Códigos de error
Consulte Códigos de error.