Exportación de todas las API en un grupo de API
Función
Esta API se utiliza para exportar definiciones de API en un grupo de API especificado.
Se importarán las definiciones de Swagger básicas, completas o extendidas de las API pertenecientes al grupo de API y publicadas en un entorno específico.
URI
La siguiente tabla muestra el método de solicitud HTTP/HTTPS y el URI de la API.
Método de solicitud |
URI |
---|---|
GET |
/v1.0/apigw/openapi?env_id={0}&group_id={1}&define={2}&version={3}&type={4} |
Solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
env_id/env |
Sí |
String |
ID del entorno en el que se han publicado las API de un grupo específico. Tanto env_id como env pueden indicar un ID de entorno. Si los dos parámetros están disponibles, el valor de env_id tiene prioridad. |
group_id/group |
Sí |
String |
ID de grupo de API. Tanto group_id como group pueden indicar un ID de grupo. Si los dos parámetros están disponibles, el valor de group_id tiene prioridad. |
define |
No |
String |
Ámbito de definición de las API que se van a exportar:
El valor predeterminado es base. |
version |
No |
String |
Versión de las API después de exportar. El valor predeterminado es la fecha y hora actuales. |
type |
No |
String |
Formato para exportar definiciones de API. El valor puede ser json o yaml. El valor predeterminado es json. |
Respuesta
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
swagger |
Sí |
String |
El valor se fija en 2.0. |
info |
Sí |
Object |
Consulte Tabla 4. |
host |
Sí |
String |
Nombre del subdominio enlazado al grupo de API |
paths |
Sí |
Object |
Consulte Tabla 5. |
responses |
Sí |
Object |
Respuesta común, a la que se puede hacer referencia en el documento {method}. Para obtener más información, consulte Tabla 9. |
securityDefinitions |
Sí |
Object |
Definición del modo de autenticación de seguridad. Para obtener más información, consulte Tabla 13. |
x-apigateway-access-controls |
No |
Object |
Información de control de acceso. Para obtener más información, consulte Tabla 23. |
x-apigateway-ratelimits |
No |
Object |
Solicitud de información de limitación. Para obtener más información, consulte Tabla 25. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
title |
Sí |
String |
Nombre del grupo de API |
version |
Sí |
String |
Número de versión. Puede especificar un número de versión o utilizar la fecha y hora actuales de forma predeterminada. |
description |
No |
String |
Descripción del grupo de API |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
uri |
Sí |
Object |
Dirección de acceso de API. Para obtener más información, consulte Tabla 6. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
method |
Sí |
Object |
Método de acceso a la API. Para obtener más información, consulte Tabla 7. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
operationId |
Sí |
String |
Nombre de la API |
description |
No |
String |
Descripción de la API |
schemes |
Sí |
Object |
Protocolo de solicitud de API. HTTP y HTTPS son compatibles. |
tags |
No |
Object |
Etiquetas de API |
parameters |
No |
Object |
Solicitud de definiciones de parámetros. Para obtener más información, consulte Tabla 8. |
responses |
Sí |
Object |
Definición de respuesta. Para obtener más información, consulte Tabla 9. |
security |
No |
Object |
Modo de autenticación de seguridad. Para obtener más información, consulte Tabla 10. |
x-apigateway-access-control |
No |
Object |
Política de control de acceso vinculada a la API |
x-apigateway-backend |
No |
Object |
Información de backend. Para obtener más información, consulte Tabla 15. |
x-apigateway-backend-policies |
No |
Object |
Información sobre la política de backend. Para obtener más información, consulte Tabla 16. |
x-apigateway-cors |
No |
Boolean |
Indica si se admite CORS. |
x-apigateway-match-mode |
No |
String |
Modo de coincidencia de ruta |
x-apigateway-ratelimit |
No |
String |
Nombre de la política de limitación de solicitudes vinculada a la API |
x-apigateway-request-type |
No |
String |
Tipo de API |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
maximum |
No |
Float |
Valor máximo de un parámetro de tipo de número |
minimum |
No |
Float |
Valor mínimo de un parámetro de tipo de número |
maxLength |
No |
Integer |
Longitud máxima de un parámetro de tipo de cadena |
minLength |
No |
Integer |
Longitud mínima de un parámetro de tipo de cadena |
pattern |
No |
String |
Expresión regular del valor del parámetro |
type |
No |
String |
Tipo de parámetro |
default |
No |
String |
Valor predeterminado |
description |
No |
String |
Descripción de parámetro |
name |
No |
String |
Nombre del parámetro |
in |
No |
String |
Ubicación del parámetro, que puede ser path, header, query, formData o body |
required |
No |
Boolean |
Indica si el parámetro es necesario. El parámetro es necesario cuando su ubicación es path. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
default |
No |
Object |
Respuesta predeterminada, que se usará cuando no se defina ningún código de estado |
status_code |
No |
Object |
Código de estado de respuesta. Para obtener más información, consulte Tabla 11. |
x-apigateway-result-failure-sample |
No |
String |
Ejemplo de respuesta para una solicitud fallida |
x-apigateway-result-normal-sample |
No |
String |
Ejemplo de respuesta para una solicitud correcta |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
apig-auth-type |
No |
Object |
Modo de autenticación de seguridad. Este parámetro es una matriz nula. Opciones:
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
description |
No |
String |
Descripción de la respuesta |
schema |
No |
Object |
Cuerpo de respuesta. Para obtener más información, consulte Tabla 12. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
description |
No |
String |
Cuerpo de respuesta |
type |
No |
String |
Tipo de cuerpo, que puede ser FORM o STREAM |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
Object |
Autorizador personalizado. Para obtener más información, consulte Tabla 14. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
type |
Sí |
String |
Tipo de autenticación. Se admite apiKey. |
name |
Sí |
String |
Nombre de apiKey |
in |
Sí |
String |
Ubicación de apiKey |
x-apigateway-auth-type |
Sí |
String |
Tipo de autenticación extendido basado en apiKey. Se admiten los tipos de autenticación de AppSigv1, IAM e IAM_NONE. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
type |
Sí |
String |
Tipo de backend. Las opciones incluyen HTTP, HTTP-VPC, FUNCTION y MOCK. |
parameters |
No |
Object |
Parámetros de backend. Para obtener más información, consulte Tabla 17. |
backend_define |
Sí |
Object |
Definición de backend Se admiten las siguientes definiciones de backend: |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
type |
Sí |
String |
Tipo de backend. Las opciones incluyen HTTP, HTTP-VPC, FUNCTION y MOCK. |
name |
Sí |
String |
Nombre de política de backend |
parameters |
No |
Object |
Parámetros de backend. Para obtener más información, consulte Tabla 17. |
backend_define |
Sí |
Object |
Definición de backend Se admiten las siguientes definiciones de backend: |
conditions |
Sí |
Object |
Condiciones de política. Para obtener más información, consulte Tabla 22. |
effectMode |
Sí |
String |
Modo efectivo de la política de backend. Las opciones incluyen ANY y ALL. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
String |
Nombre del parámetro, que consta de un máximo de 32 bytes, comenzando con una letra. Solo se permiten letras, dígitos, puntos (.), guiones (-) y guiones bajos (_). Los nombres de los parámetros de encabezado no distinguen entre mayúsculas y minúsculas. |
value |
Sí |
String |
Valor de parámetro, que es un nombre de parámetro si el parámetro proviene de una solicitud |
in |
Sí |
String |
Ubicación del parámetro, que puede ser header, query o path |
origin |
Sí |
String |
Fuente de asignación de parámetros. Las opciones incluyen REQUEST y CONSTANT. |
description |
No |
String |
Significado del parámetro |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
address |
Sí |
String |
Dirección de servicio de backend. El formato es de <Domain name or IP address>:[Port number] |
scheme |
Sí |
String |
Protocolo de solicitud de backend. HTTP y HTTPS son compatibles. |
method |
Sí |
String |
Método de solicitud de backend. Las opciones incluyen GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH y ANY. |
path |
Sí |
String |
Ruta de solicitud de backend, que puede contener variables. |
timeout |
No |
Integer |
Tiempo de espera de la solicitud de backend en milisegundos. El valor oscila entre 1 y 60,000 y el valor predeterminado es 5000. |
description |
No |
String |
Descripción del backend |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
Array |
Nombre del canal de VPC |
scheme |
Sí |
String |
Protocolo de solicitud de backend. HTTP y HTTPS son compatibles. |
method |
Sí |
String |
Método de solicitud de backend. Las opciones incluyen GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH y ANY. |
path |
Sí |
String |
Ruta de solicitud de backend, que puede contener variables. |
timeout |
No |
Integer |
Tiempo de espera de la solicitud de backend en milisegundos. El valor oscila entre 1 y 60,000 y el valor predeterminado es 5000. |
host |
No |
String |
host de proxy de canal de VPC |
description |
No |
String |
Descripción del backend |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
function-urn |
Sí |
String |
Función URN |
version |
Sí |
String |
Versión de la función |
invocation-type |
Sí |
String |
Tipo de invocación de función. El valor puede ser async o sync. |
timeout |
No |
Integer |
Tiempo de espera de la función en milisegundos. El valor oscila entre 1 y 60,000 y el valor predeterminado es 5000. |
description |
No |
String |
Descripción del backend |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
result-content |
Sí |
String |
Respuesta de simulacro |
description |
No |
String |
Descripción del backend |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
type |
Sí |
String |
Tipo de condición de política. Las opciones incluyen equal, enum y pattern. |
value |
Sí |
String |
Valor de condición de política |
origin |
Sí |
String |
Origen de la condición de la política. Las opciones incluyen source y request. |
parameter |
No |
String |
Nombre del parámetro de entrada si el parámetro origin está establecido en request. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
acl_name |
No |
Object |
Política de control de acceso. Para obtener más información, consulte Tabla 24. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
acl-type |
Sí |
String |
Efecto de control de acceso. Las opciones incluyen PERMIT y DENY. |
entity-type |
Sí |
String |
Objeto de control de acceso. Solo se admiten direcciones IP y cuentas. |
value |
Sí |
String |
Valores de control de acceso, que se separan con comas (,). |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
throttle_name |
No |
Object |
Solicitud de política de limitación. Para obtener más información, consulte Tabla 26. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
api-limit |
Sí |
Integer |
Número máximo de veces que se puede invocar a una API |
user-limit |
No |
Integer |
Número de veces que un usuario puede invocar a la API |
app-limit |
No |
Integer |
Número de veces que una aplicación puede invocar a la API |
ip-limit |
No |
Integer |
Número de veces que se puede invocar a la API mediante una dirección IP |
interval |
Sí |
Integer |
Período de limitación |
unit |
Sí |
String |
Unidad de limitación, que puede ser SECOND, MINUTE, HOUR o DAY |
shared |
No |
Boolean |
Si desea compartir los límites de limitación entre las API |
special |
No |
Object |
Configuraciones de limitación de solicitudes excluidas. Para obtener más información, consulte Tabla 27. |
Ejemplo de respuesta:
{ "swagger": "2.0", "info": { "description": "api group test", "title": "APIGroup_test", "version": "2019-09-12-17:38:10" }, "host": "6b075335476a4943bf70c3db1343c912.apigw.example.com", "paths": { "/test/{path}": { "get": { "security": [ { "apig-auth-app": [] } ], "description": "api test", "schemes": [ "https" ], "operationId": "API_test", "parameters": [ { "type": "string", "description": "header parameter", "name": "header", "in": "header", "required": true }, { "type": "string", "description": "path parameter", "name": "path", "in": "path", "required": true }, { "type": "number", "default": "123", "description": "query parameter", "name": "query", "in": "query" } ], "responses": { "default": { "$ref": "#/responses/default" }, "x-apigateway-result-failure-sample": "", "x-apigateway-result-normal-sample": "success" }, "x-apigateway-backend": { "httpEndpoints": { "address": "1.1.1.1:443", "description": "", "method": "GET", "path": "/test/{path}", "scheme": "https", "timeout": 5000 }, "parameters": [ { "description": "", "in": "HEADER", "name": "header", "origin": "REQUEST", "value": "header" }, { "description": "", "in": "PATH", "name": "path", "origin": "REQUEST", "value": "path" }, { "description": "", "in": "QUERY", "name": "query", "origin": "REQUEST", "value": "query" } ], "type": "HTTP" }, "x-apigateway-backend-policies": [ { "conditions": [ { "origin": "param", "parameter": "path", "type": "exact", "value": "path" }, { "origin": "source", "parameter": "", "type": "", "value": "1.0.0.0/8" } ], "effectMode": "ANY", "httpVpcEndpoints": { "method": "POST", "name": "VPC_n9ct", "path": "/", "scheme": "HTTPS", "timeout": 5000 }, "name": "policy_test", "type": "HTTP-VPC" } ], "x-apigateway-cors": false, "x-apigateway-match-mode": "NORMAL", "x-apigateway-request-type": "public" } } }, "responses": { "default": { "description": "response example" } }, "securityDefinitions": { "apig-auth-app": { "type": "apiKey", "name": "Authorization", "in": "header", "x-apigateway-auth-type": "AppSigv1" }, "apig-auth-iam": { "type": "apiKey", "name": "unused", "in": "header", "x-apigateway-auth-type": "IAM" } } }
Códigos de estado
Código de estado |
Descripción |
---|---|
200 |
OK |
400 |
bad request |
401 |
unauthorized |
403 |
forbidden |
500 |
server internal error |