Tutorial: Depuración de las API con el seguimiento de solicitudes
SE APLICA A: Consumo | Desarrollador | Básico | Estándar | Premium
En este tutorial se describe cómo inspeccionar, o realizar el seguimiento, del procesamiento de solicitudes en Azure API Management. El seguimiento le ayuda a depurar y solucionar problemas de la API.
En este tutorial, aprenderá a:
- Seguimiento de una llamada de ejemplo en la consola de prueba
- Revisar los pasos del procesamiento de solicitudes
- Habilitación del seguimiento de una API
Nota:
Actualmente, el seguimiento de solicitudes de API no se admite en los niveles Básico v2 y Estándar v2.
Requisitos previos
- Conocer la terminología de API Management de Azure.
- Complete el siguiente inicio rápido: Creación de una instancia de Azure API Management.
- Realice el siguiente tutorial: Importación y publicación de la primera API.
Importante
- El seguimiento de solicitudes de API Management mediante el encabezado Ocp-Apim-Trace en una solicitud y el uso del valor del encabezado de respuesta Ocp-Apim-Trace-Location están en desuso.
- Para mejorar la seguridad, ahora se puede habilitar el seguimiento en el nivel de una API individual al obtener un token de tiempo limitado mediante la API de REST de API Management y pasar el token en una solicitud a la puerta de enlace. Para más información, vea Habilitación del seguimiento de una API.
- Tenga cuidado al habilitar el seguimiento, ya que puede exponer información confidencial en los datos de seguimiento. Asegúrese de que tiene las medidas de seguridad adecuadas para proteger los datos de seguimiento.
Seguimiento de una llamada en el portal
Inicie sesión en Azure Portal y vaya a la instancia de API Management.
Seleccione API.
Seleccione Demo Conference API en la lista de API.
Seleccione la pestaña Prueba.
Seleccione la operación GetSpeakers.
Tiene la opción de comprobar el valor del encabezado Ocp-Apim-Subscription-Key que se usa en la solicitud seleccionando el icono de ojo.
Sugerencia
Puede reemplazar el valor de Ocp-Apim-Subscription-Key mediante la recuperación de una clave de otra suscripción del portal. Seleccione Suscripciones y abra el menú contextual (...) de otra suscripción. Seleccione Mostrar u ocultar claves y copie una de las claves. También puede regenerar claves si es necesario. A continuación, en la consola de prueba, seleccione + Agregar encabezado para agregar un encabezado Ocp-Apim-Subscription-Key con el nuevo valor de clave.
Seleccione Seguimiento.
Revisión de la información de seguimiento
Una vez finalizada la llamada, vaya a la pestaña Seguimiento en Respuesta HTTP.
Seleccione cualquiera de los siguientes vínculos para saltar ainformación de seguimiento detallada: Entrada, Back-end, Salida, En caso de error.
Entrada: muestra la solicitud original API Management recibida del autor de llamada y las directivas aplicadas a la solicitud. Por ejemplo, si agregó directivas en Tutorial: Transformación y protección de la API, aparecerán aquí.
Back-end: muestra las solicitudes que API Management envió al back-end de la API y la respuesta que recibió.
Salida: muestra todas las directivas que se aplican a la respuesta antes de enviarla de vuelta al autor de llamada.
En caso de error : muestra los errores que se produjeron durante el procesamiento de la solicitud y las directivas aplicadas a los errores.
Sugerencia
Cada paso muestra también el tiempo transcurrido desde que API Management recibe la solicitud.
Habilitación del seguimiento de una API
Puede habilitar el seguimiento de una API al realizar solicitudes a API Management mediante curl
, un cliente REST como Visual Studio Code con la extensión de cliente REST o una aplicación cliente.
Habilite el seguimiento mediante los pasos siguientes mediante llamadas a la API de REST de API Management.
Nota:
Los siguientes pasos requieren la versión 2023-05-01-preview o posterior de la API de REST de API Management. Debe tener asignado el rol Colaborador o superior en la instancia de API Management para llamar a la API de REST.
Obtenga las credenciales de seguimiento llamando a la API Lista de credenciales de depuración. Pase el identificador de puerta de enlace en el URI o use "administrado" para la puerta de enlace administrada de la instancia en la nube. Por ejemplo, para obtener credenciales de seguimiento para la puerta de enlace administrada, use una llamada similar a la siguiente:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listDebugCredentials?api-version=2023-05-01-preview
En el cuerpo de la solicitud, pase el identificador de recurso completo de la API que desea realizar el seguimiento y especifique
purposes
comotracing
. De manera predeterminada, la credencial del token devuelta en la respuesta expira después de 1 hora, pero puede especificar un valor diferente en la carga.{ "credentialsExpireAfter": PT1H, "apiId": "<API resource ID>", "purposes": ["tracing"] }
La credencial del token se devuelve en la respuesta, similar a la siguiente:
{ "token": "aid=api-name&p=tracing&ex=......." }
Para habilitar el seguimiento de una solicitud a la puerta de enlace de API Management, envíe el valor del token en un encabezado
Apim-Debug-Authorization
. Por ejemplo, para realizar un seguimiento de una llamada a la API de conferencia de demostración, use una llamada similar a la siguiente:curl -v GET https://apim-hello-world.azure-api.net/conference/speakers HTTP/1.1 -H "Ocp-Apim-Subscription-Key: <subscription-key>" -H "Apim-Debug-Authorization: aid=api-name&p=tracing&ex=......."
Según el token, la respuesta contiene distintos encabezados:
- Si el token es válido, la respuesta incluye un encabezado
Apim-Trace-Id
cuyo valor es el identificador de seguimiento. - Si el token ha expirado, la respuesta incluye un encabezado
Apim-Debug-Authorization-Expired
con información sobre la fecha de expiración. - Si el token se obtuvo para una API incorrecta, la respuesta incluye un encabezado
Apim-Debug-Authorization-WrongAPI
con un mensaje de error.
- Si el token es válido, la respuesta incluye un encabezado
Para recuperar el seguimiento, pase el identificador de seguimiento obtenido en el paso anterior a la API Lista seguimiento de la puerta de enlace. Por ejemplo, para recuperar el seguimiento de la puerta de enlace administrada, use una llamada similar a la siguiente:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listTrace?api-version=2023-05-01-preview
En el cuerpo de la solicitud, pase el identificador de seguimiento obtenido en el paso anterior.
{ "traceId": "<trace ID>" }
El cuerpo de la respuesta contiene los datos de seguimiento de la solicitud de API anterior a la puerta de enlace. El seguimiento es similar al seguimiento que puede ver mediante el seguimiento de una llamada en la consola de prueba del portal.
Para más información sobre cómo personalizar la información de seguimiento, consulte la directiva de seguimiento.
Pasos siguientes
En este tutorial, ha aprendido a:
- Realizar el seguimiento de una llamada de ejemplo
- Revisar los pasos del procesamiento de solicitudes
- Habilitación del seguimiento de una API
Avance hasta el siguiente tutorial: