Depuración de una API
Función
Esta API se utiliza para depurar la definición de una API en un entorno específico. El invocador de la API debe tener los permisos necesarios para operar esta API.
URI
La siguiente tabla muestra el método de solicitud HTTP/HTTPS y el URI de la API.
Método de solicitud |
URI |
---|---|
POST |
/v1.0/apigw/apis/debug/{api_id} |
En la siguiente tabla se muestra el parámetro en el URI.
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
api_id |
Sí |
String |
ID de API |
Solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
scheme |
Sí |
String |
Protocolo de solicitud, que puede ser:
|
method |
Sí |
String |
Método de solicitud, que puede ser:
|
domain |
No |
String |
Nombre de dominio de acceso de la API. Si no se especifica ningún valor, se usará uno de los siguientes valores predeterminados según la configuración de mode:
|
path |
Sí |
String |
Ruta de solicitud de la API, comenzando con una barra diagonal (/) y con hasta 1024 caracteres
NOTA:
La ruta de solicitud debe cumplir con los requisitos de ruta para que pueda decodificarse correctamente después de la codificación porcentual. |
query |
No |
Dictionary |
Parámetros de consulta, siendo cada valor una matriz de cadenas de caracteres. Cada nombre de parámetro debe cumplir los siguientes requisitos:
|
header |
No |
Dictionary |
Parámetros de encabezado, siendo cada valor una matriz de cadenas de caracteres. Cada nombre de parámetro debe cumplir los siguientes requisitos:
NOTA:
Cada nombre de encabezado se normaliza antes de su uso. Por ejemplo, el x-MY-hEaDer se normaliza como X-My-Header. |
body |
No |
String |
Cuerpo del mensaje, con una longitud máxima de 2,097,152 bytes. |
mode |
Sí |
String |
Modo de depuración, que puede ser:
|
app_key |
No |
String |
AppKey utilizado en la solicitud de depuración |
app_secret |
No |
String |
AppSecret utilizado en la solicitud de depuración |
stage |
No |
String |
Entorno de ejecución especificado en la solicitud de depuración. Este parámetro solo es válido cuando mode está establecido en CONSUMER. Si no se especifica ningún valor, se utiliza RELEASE. |
Ejemplo de solicitud:
{ "mode": "DEVELOPER", "scheme": "HTTPS", "method": "GET", "path": "/test", "query": { "city": [ "city01", "city02" ] }, "header": { "X-My-City": [ "city01", "city02" ] } }
Respuesta
Parámetro |
Tipo |
Descripción |
---|---|---|
request |
String |
Cuerpo de la solicitud de depuración |
response |
String |
Cuerpo de la respuesta de depuración, con una longitud máxima de 2,097,152 bytes. Cualquier contenido que supere este umbral se truncará.
NOTA:
Cualquier contenido que supere el límite de longitud se truncará y se agregará [TRUNCATED] de texto al cuerpo de la respuesta. |
latency |
String |
Duración de la depuración en milisegundos |
log |
String |
Registros de depuración |
Ejemplo de respuesta:
{ "request": "GET /test?city=city01&city=city02 HTTP/1.1\r\nHost: edf94892b11d440795562cb81c5be059.apigw.example.com\r\nUser-Agent: APIGatewayDebugClient/1.0\r\nX-Apig-Mode: debug\r\nX-My-City: city01\r\nX-My-City: city02\r\n\r\n", "response": "HTTP/1.1 200 OK\r\nContent-Length: 33\r\nConnection: keep-alive\r\nContent-Type: application/json; charset=utf-8\r\nDate: Fri, 24 Aug 2018 10:36:47 GMT\r\nServer: api-gateway\r\nX-Apig-Latency: 13\r\nX-Apig-Ratelimit-Api: remain:92,limit:100,time:1 minute\r\nX-Apig-Ratelimit-Api-Allenv: remain:9,limit:10,time:1 second\r\nX-Apig-Upstream-Latency: 1\r\nX-Request-Id: 12f69943cc2fa4f8a3674ee947655339\r\n\r\n{\"version\":\"4.0.12.201808190004\"}", "latency": "12", "log": "" }
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 |