Usa la depuración

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

En esta sección, se describe cómo crear y administrar sesiones de depuración y ver los datos de solicitud y respuesta mediante la IU y la API de Apigee.

Usa la Depuración sin conexión para ver y analizar las sesiones de depuración que se descargaron antes.

Crea una sesión de depuración

La herramienta de depuración es fácil de usar. Inicias una sesión de depuración, luego realizas una llamada a la API de Apigee y, por último, ves los datos de solicitud y respuesta en la IU.

Crea una sesión de depuración con la IU o la API de Apigee, como se describe en las siguientes secciones.

Consola de Apigee Cloud

Depuración v2 (nuevo)

Para crear una sesión de depuración, haz lo siguiente:

  1. En la Google Cloud consola, ve a la página Desarrollo de proxy > Proxies de API.

    Ir a Proxies de API

  2. Selecciona el proxy de API que deseas depurar. Esto muestra el panel Descripción general del Editor de proxy.
  3. Haz clic en la pestaña Depurar.
  4. Haz clic en Iniciar sesión de depuración. Esto muestra el panel Iniciar sesión de depuración.
  5. En el panel Iniciar sesión de depuración, haz lo siguiente:

    1. Selecciona el entorno en el que deseas ejecutar la sesión de depuración.
    2. (Opcional) En la lista desplegable Filtro, selecciona un filtro para aplicar a todas las transacciones en la sesión de depuración que estás creando. El valor predeterminado es None (All transactions), que incluye todas las transacciones en los datos de depuración.

      Para obtener información sobre el uso de filtros, consulta Cómo usar filtros en una sesión de depuración. Para obtener información sobre los filtros incorporados, consulta Cómo usar filtros predefinidos.

    3. Haz clic en Iniciar.

La IU de Apigee ahora muestra el panel Sesión de depuración en curso.

Haz clic para obtener una imagen más grande nueva sesión de depuración

La sesión de depuración registra las solicitudes durante 10 minutos o hasta que se hayan capturado 15 solicitudes. Puedes ajustar el límite de 10 minutos si creas la sesión de depuración con la API. En el campo Finaliza dentro de, se muestra la cantidad de tiempo restante de la sesión.

No verás ninguna información en el panel de Depuración hasta que envíes una solicitud al proxy que estás depurando en el entorno seleccionado para la sesión de depuración.

Después de que envíes la solicitud, aparecerá en el panel de la lista Transacciones. La lista de Transacciones se actualiza cada cinco segundos.

Haz clic para obtener una imagen más grande solicitud en la lista de transacciones

Para ver o copiar el resultado de la transacción, haz lo siguiente:

  1. En la lista Transactions, haz clic en View transaction output. Aparecerá el panel Resultado de la transacción.
  2. Haz clic en una transacción individual o en Todas las transacciones.
  3. Haz clic en Copiar para copiar el resultado de la transacción en el portapapeles.
  4. Haz clic en Cerrar.

Depuración v1

Para crear una sesión de depuración en el nuevo Editor de proxies, haz lo siguiente:

  1. Accede a la consola deGoogle Cloud .
  2. Selecciona Desarrollo del proxy > Proxies de API.

  3. Selecciona el proxy de API que deseas depurar. Esto muestra la vista Descripción general del Editor de proxies.

  4. Haz clic en la pestaña Depurar en la parte superior izquierda de la ventana.
  5. Haz clic en Iniciar sesión de depuración en la esquina superior derecha del panel Depurar. Esto muestra el cuadro de diálogo Iniciar sesión de depuración.

    Cuadro de diálogo Iniciar sesión de depuración.

    En el cuadro de diálogo:

    1. Selecciona el Entorno en el que deseas ejecutar la sesión de depuración.
    2. (Opcional) En la lista desplegable Filtro, selecciona un filtro para aplicar a todas las transacciones en la sesión de depuración que estás creando. El valor predeterminado es None (All transactions), que incluye todas las transacciones en los datos de depuración.

      Para obtener información sobre el uso de filtros, consulta la sección sobre cómo usar filtros en una sesión de depuración. Para obtener información sobre los filtros incorporados, consulta la sección sobre cómo usar filtros predefinidos.

    3. Haz clic en Iniciar.

La IU de Apigee ahora muestra la vista Sesión de depuración en curso.

Sesión de depuración en curso

La sesión de depuración registra las solicitudes durante 10 minutos o hasta que se hayan capturado 15 solicitudes. Puedes ajustar el límite de 10 minutos si creas la sesión de depuración con la API. En el campo Finaliza dentro de, se muestra la cantidad de tiempo restante de la sesión.

No verás ninguna información en el panel de depuración hasta que envíes una solicitud al proxy que estás depurando en el entorno seleccionado. entorno para la sesión de depuración.

Una vez que hayas enviado la solicitud, aparecerá en la parte inferior del panel izquierdo.

Cuadro de diálogo Iniciar sesión de depuración.

Nota: Durante una sesión de depuración activa, puedes iniciar otra sesión en la IU de Apigee. Para hacerlo, vuelve a hacer clic en Iniciar sesión de depuración.

IU clásica

Para crear una sesión de depuración en el Editor de proxies clásico, haz lo siguiente:

  1. Accede a la IU de Apigee.
  2. En el menú principal, seleccione API Proxies:
  3. Selecciona el proxy de API que deseas depurar.

    Aparecerá la pestaña Descripción general.

  4. Haz clic en la pestaña Depuración en la esquina superior derecha de la página:

    Pestañas

    En la vista de Depuración, se muestra lo siguiente:

    Vista de depuración con los paneles Iniciar una sesión de depuración, sesiones de depuración recientes y enviar solicitudes

  5. En el panel Iniciar una sesión de depuración, haz lo siguiente:
    1. En la lista desplegable Env, selecciona el entorno y el número de revisión del proxy de API que deseas depurar.
    2. En el siguiente ejemplo, se muestra el panel Iniciar una sesión de depuración:

      Panel de inicio de la sesión de depuración

    3. (Opcional) En la lista desplegable Filtro, selecciona un filtro para aplicar a todas las transacciones en la sesión de depuración que estás creando. El valor predeterminado es None, que incluye todas las transacciones en los datos de depuración.

      Para obtener información sobre el uso de filtros, consulta la sección sobre cómo usar filtros en una sesión de depuración. Para obtener información sobre los filtros incorporados, consulta la sección sobre cómo usar filtros predefinidos.

    4. Haz clic en Iniciar sesión de depuración.

      En la IU de Apigee ahora se muestran los detalles sobre la sesión de depuración actual, incluido su ID, en el panel Detalles de la depuración.

      Aunque en la IU, se creó la sesión de depuración, aún debes enviar la solicitud antes de que haya datos para recopilar.

      En el panel Detalles de la depuración, puedes hacer lo siguiente:

      Ícono Función Descripción
      Ícono de descarga Descargar Descarga los datos de depuración de la sesión activa, que luego podrás ver sin conexión.
      Ícono de retorno Muestra Regresa al panel anterior, donde puedes iniciar otra sesión de depuración. La sesión de depuración actual continúa hasta que alcanza su tiempo de espera o su recuento de transacciones.
      Ícono Borrar Borra Borra los datos de la sesión de depuración seleccionada actualmente. Aquí se borran los datos de la sesión, pero no detiene las sesiones.

      Existe un límite de tiempo de espera predeterminado de 10 minutos para una sesión de depuración que inicias en la IU (es diferente para una sesión que se inicia con la API).

      El reloj comienza a correr en cuanto haces clic en Iniciar sesión de depuración, por lo que puedes elegir esperar hasta después del siguiente paso antes de hacer clic en Iniciar sesión de depuración para maximizar la cantidad de datos que recopilas.

  6. En el panel Enviar solicitudes, haz lo siguiente:
    1. En el campo URL, ingresa el extremo al que deseas enviar una solicitud. De forma opcional, anexa parámetros de cadena de consulta a la URL. Solo puedes enviar solicitudes que no sean GET.
      Cómo encontrar la URL de extremo
      1. Ve a Administrador > Entornos > Grupos.
      2. La URL es el Nombre de host del entorno correspondiente con el que deseas ejecutar tu sesión de depuración.
    2. El panel Enviar solicitudes solo muestra los datos de las solicitudes basadas en la IU. Sin embargo, ten en cuenta que la depuración también registra los datos de las solicitudes que la IU no inició.

    3. Haz clic en Enviar.

      Apigee envía una solicitud a la URL especificada. Cada vez que haces clic en Enviar, la IU de Apigee registra la solicitud en el panel Detalles de depuración.

      En el siguiente ejemplo, se muestran varias solicitudes exitosas (que generan un código de estado HTTP de 200):

      Solicitudes de depuración capturadas

      Haz clic en Copiar a fin de copiar el ID de depuración para referencias futuras o consultas.

      Además, la IU muestra los datos de depuración en las secciones Mapa de transacciones y Detalles de la fase del panel Enviar solicitudes, y propaga las secciones Extremo del proxy, Encabezados de la solicitud, Contenido de la solicitud y Propiedades, como se muestra en el siguiente ejemplo:

      Solicitudes de depuración capturadas

      Para obtener más información sobre las fases, el mapa de transacciones y otras secciones de la vista Enviar solicitudes, consulta Cómo leer una depuración.

    La sesión de depuración ahora está activa y registra los datos de todas las solicitudes (a menos que se filtren). La sesión permanecerá activa hasta que se alcance el tiempo de espera o se supere el número de solicitudes registradas en la sesión.

  7. Puedes crear cualquier cantidad de sesiones de depuración en la IU. Para obtener más información, consulta Inicia otra sesión de depuración.

API

Para crear una sesión de depuración con la API, envía una solicitud POST al siguiente recurso:

https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/debugsessions

De manera opcional, puedes hacer lo siguiente:

En el siguiente ejemplo, se muestra cómo crear una sesión de depuración con la API.

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions" \
      -X POST \
      -H "Authorization: Bearer $TOKEN"
    

En el ejemplo anterior, $TOKEN está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usa curl. Para obtener una descripción de las variables de entorno que puedes usar, consulta Configura variables de entorno para solicitudes a la API de Apigee.

A continuación, se proporciona un ejemplo de la respuesta.

{
      "name":"56382416-c4ed-4242-6381-591bbf2788cf",
      "validity":300,
      "count":10,
      "tracesize":5120,
      "timeout":"600"
    }

Las solicitudes posteriores al proxy de API (hasta que se alcance la duración de la sesión o la cantidad máxima de solicitudes) se evaluarán y se almacenarán en los datos de la sesión de depuración.

Para obtener más información, consulta la sección sobre cómo crear la API de sesión de depuración.

Configura la duración de una sesión de depuración mediante la API

Para establecer la duración de una sesión de depuración con la API, incluye lo siguiente como carga útil en tu solicitud de creación de sesión de depuración:

{
      "timeout":"debug_session_length_in_seconds"
    }

En el siguiente ejemplo, se crea una sesión de depuración que tiene una duración de solo 42 segundos:

curl https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions"
      -X "POST" \
      -H "Authorization: Bearer $TOKEN" \
      -d ' {
        "timeout":"42"
      } '

Puedes configurar el timeout de una sesión solo en las solicitudes de creación de sesiones de depuración. No puedes cambiar la duración de una sesión después de crearla.

El valor predeterminado de timeout es 300 (5 minutos). El valor máximo es 600 segundos (10 minutos).

Copia la URL del proxy

La URL del proxy se usa para enviar solicitudes al proxy de API.

Consola de Apigee Cloud

Depuración v2 (nuevo)

Para encontrar y copiar la URL del proxy, sigue estos pasos:

  1. En el panel Sesión de depuración, campo URL, haz clic en Copiar.
  2. Si no hay una sesión de depuración abierta, haz lo siguiente:
    1. En la consola de Google Cloud , ve a la página Administración > Entornos > Grupos de entornos.

      Ir a Grupos de entornos

    2. La URL es el Nombre de host del entorno correspondiente con el que deseas ejecutar tu sesión de depuración. Selecciónalo y, luego, cópialo.

Para seleccionar otra URL de proxy, haz lo siguiente:

  1. En el panel Sesión de depuración, campo URL, haz clic en Editar.
  2. Realiza los cambios que desees y, luego, haz clic en Actualizar.
  3. Si no hay una sesión de depuración abierta, haz lo siguiente:
    1. Busca la URL del proxy.
    2. Haz clic en Más y, luego, en Editar.
    3. Realiza los cambios que desees y, luego, haz clic en Actualizar.

Depuración v1

Para encontrar y copiar la URL del proxy, sigue estos pasos:

  1. En la consola de Google Cloud , ve a Administración > Entornos > Grupos de entornos.
  2. La URL es el Nombre de host del entorno correspondiente con el que deseas ejecutar tu sesión de depuración. Selecciónalo y, luego, cópialo.

Para editar la URL del proxy, sigue estos pasos:

  1. Busca la URL del proxy.
  2. Haz clic en Más y, luego, en Editar.
  3. Realiza los cambios que desees y, luego, haz clic en Actualizar.

IU clásica

Para encontrar y copiar la URL del extremo, haz lo siguiente:

  1. En la IU de Apigee, ve a Administrador > Entornos > Grupos. Se te redireccionará a la consola de Google Cloud , página Administración > Entornos > Grupos de entornos.
  2. La URL es el Nombre de host del entorno correspondiente con el que deseas ejecutar tu sesión de depuración. Selecciónalo y, luego, cópialo.

Para editar la URL de destino, haz lo siguiente:

  1. Busca la URL del extremo.
  2. Haz clic en Más y, luego, en Editar.
  3. Realiza los cambios que desees y, luego, haz clic en Actualizar.

Inicia otra sesión de depuración en la IU

Puedes crear cualquier cantidad de sesiones de depuración en la IU.

Consola de Apigee Cloud

Durante una sesión de depuración activa, puedes iniciar otra sesión en la IU de Apigee. Para ello, haz clic en Cerrar en el panel Sesión de depuración:

Haz clic para ver una imagen más grande Cerrar y regresar al panel Iniciar una sesión de depuración

La IU regresa al panel Iniciar una sesión de depuración, en el que puedes iniciar una nueva sesión de depuración.

IU clásica

Durante una sesión de depuración activa, puedes iniciar otra sesión en la IU de Apigee. Para ello, haz clic en el ícono de la flecha hacia atrás () en el panel Detalles de la depuración:

Flecha hacia atrás que te lleva de vuelta al panel Inicio de sesión de depuración

La IU regresa al panel Iniciar una sesión de depuración, en el que puedes iniciar una nueva sesión de depuración.

¿Cuándo finaliza una sesión de depuración?

No puedes simplemente detener una sesión de depuración activa. Sin embargo, puedes borrar los datos de una sesión activa, como se describe en Borra los datos de la sesión de depuración.

Cuando creas una sesión de depuración, dos propiedades determinan cuándo finaliza:

  • timeout: Es el período durante el cual recopilas datos durante una sesión. La duración predeterminada depende de cómo se inició la sesión (a través de la IU o de la API). El valor máximo es 600 segundos (o 10 minutos).
  • count: Es la cantidad máxima de solicitudes que se registran en una sola sesión por Message Processor. Debido a que la cantidad de procesadores de mensajes en la mayoría de los clústeres es variable, los efectos del recuento pueden ser impredecibles. Apigee no recomienda personalizar este parámetro de configuración.

Cuando se alcanza el tiempo de espera o se alcanza la cantidad, finaliza la sesión de depuración de ese Message Processor.

Los siguientes términos se usan para describir el estado de una sesión de depuración:

  • sesión activa es una sesión de depuración que aún no alcanzó el tiempo de espera o superó su recuento. Una sesión activa aún registra los datos de solicitud para solicitudes que no se filtraron.
  • sesión completa es una sesión de depuración que alcanzó su tiempo de espera o superó su recuento. Una sesión completada ya no registra datos sobre las solicitudes nuevas y sus datos se borran dentro de las 24 horas posteriores a la finalización de la sesión.

Cómo leer una sesión de depuración

En esta sección, se proporciona una descripción general de una sesión de depuración.

Consulta lo siguiente:

Consola de Apigee Cloud

Depuración v2 (nuevo)

La herramienta de depuración tiene dos partes principales: el panel de transacciones y los detalles de la fase:

  • El panel de transacciones usa íconos para marcar cada paso destacado que se produce durante una transacción de proxy de API, incluidas la ejecución de políticas, los pasos condicionales y las transiciones. Coloca el cursor sobre cualquier ícono para ver información de resumen. Los pasos del flujo de solicitud aparecen en la parte superior del mapa de transacciones y los pasos del flujo de respuesta en la parte inferior.
  • El panel de detalles de la fase muestra información sobre el procesamiento interno del proxy, incluidas las variables que se configuraron o leyeron, los encabezados de respuesta y solicitud, y mucho más. Haz clic en cualquier ícono para ver los detalles de la fase de ese paso.

Depuración v1

Esta versión de la herramienta de depuración utiliza un gráfico de Gantt para mostrar los pasos de la solicitud y la respuesta.

IU clásica

La herramienta de depuración tiene dos partes principales: el mapa de transacciones y los detalles de la fase:

  • El mapa de transacciones usa íconos para marcar cada paso destacado que se produce durante una transacción de proxy de API, incluidas la ejecución de políticas, los pasos condicionales y las transiciones. Coloca el cursor sobre cualquier ícono para ver información de resumen. Los pasos del flujo de solicitud aparecen en la parte superior del mapa de transacciones y los pasos del flujo de respuesta en la parte inferior.
  • La sección de detalles de la fase de la herramienta muestra información sobre el procesamiento interno del proxy, incluidas las variables que se configuraron o leyeron, los encabezados de respuesta y solicitud, y mucho más. Haz clic en cualquier ícono para ver los detalles de la fase de ese paso.

Panel de transacciones

En el panel de transacciones, se muestran los pasos de la solicitud y la respuesta.

Consola de Apigee Cloud

Depuración v2 (nuevo)

Aquí se incluye un panel de transacciones de la herramienta de depuración de muestra con los segmentos principales de procesamiento del proxy etiquetados:

Haz clic para ver una imagen más grande Diagrama de depuración que muestra la solicitud de inicio del proxy para iniciar la solicitud de destino a fin de comenzar la respuesta de destino para iniciar la respuesta del proxy a fin de comenzar el flujo del cliente posterior al proxy

Depuración v1

Para ver los detalles de una transacción (solicitud y respuesta) en la vista de Depuración, haz clic en la fila de la transacción para mostrar un diagrama de Gantt en el panel derecho en el que se muestran los pasos de la solicitud y la respuesta.

Diagrama de Gantt de pasos de transacción en el panel de la derecha.

El eje horizontal del diagrama denota los tiempos en los que ocurrió cada paso, medidos en milisegundos. Cada paso se representa con un rectángulo que se extiende desde la hora de inicio hasta la hora de finalización del paso.

Puedes revisar los pasos de una sesión de depuración con los botones Atrás y Siguiente en la parte inferior derecha del panel de depuración. Haz clic en lo siguiente:

  • Atrás para mover la fila seleccionada al paso anterior del diagrama.
  • Siguiente para mover la fila seleccionada al siguiente paso en el diagrama.

En el ejemplo anterior, en el diagrama se muestran dos políticas que se ejecutan en la respuesta:

  • ResponsePayload
  • Agregar CORS

Puedes hacer clic en cualquiera de estos pasos para ver sus detalles. Por ejemplo, si haces clic en la política Agregar CORS, verás detalles como los que se muestran a continuación junto al diagrama de Gantt.

Detalles de la política Agregar CORS.

Si decides cambiar algo en la configuración de la política, puedes hacer clic en Desarrollar para cambiar a la vista Desarrollar, en la que verías las mismas dos políticas en Response PostFlow.

Visualiza la pestaña Desarrollar en relación con una sesión de depuración.

IU clásica

Aquí se incluye un mapa de muestra de depuración con los segmentos principales de depuración del proxy etiquetados:

Mapa de transacciones de la herramienta de depuración

Diagrama de depuración que muestra la solicitud de inicio del proxy para iniciar la solicitud de destino a fin de comenzar la respuesta de destino para iniciar la respuesta del proxy a fin de comenzar el flujo del cliente posterior al proxy

Leyenda del panel de transacciones

A continuación, se describen los íconos del panel de transacciones:

Consola de Apigee Cloud

Depuración v2 (nuevo)

En esta sección, se describen los íconos del panel de transacciones:

Íconos de políticas

Cada tipo de política tiene un ícono único. Estos íconos te permiten ver dónde se ejecutan las políticas en el orden adecuado y si son exitosas o no. Puedes hacer clic en el ícono de una política para ver los resultados de su ejecución y si se esperan o no. Por ejemplo, puedes ver si el mensaje se transformó de forma correcta o si se está almacenando en caché.

Las políticas estándar mejoran tus APIs para controlar el tráfico, mejorar el rendimiento, reforzar la seguridad y aumentar la utilidad de tus APIs, sin necesidad de escribir código ni modificar servicios de backend.

Las políticas extensibles te permiten agregar lógica personalizada a tus proxies de API. Puedes usar estas políticas para agregar funcionalidad que no proporcionan las políticas estándar.

Consulta la Descripción general de la referencia de políticas para obtener más información sobre las políticas y las categorías.

Para filtrar la tabla, sigue estos pasos:

  • Selecciona un tipo de política o una categoría de política.
  • Haz clic en el encabezado de la columna Nombre para ordenar la tabla por nombre de política.
  • Escribe una palabra clave para buscar el nombre de una política.

Tipo de política

Categoría de política

Ícono Nombre Tipo Categoría
manage_search Política ParseDialogflowRequest Extensible Flujo de diálogo
chat_add_on Política de SetDialogflowResponse Extensible Flujo de diálogo
stacked_line_chart Política DataCapture Extensible Extensión
display_external_input Política ExternalCallout Estándar Extensión
flowsheet Política FlowCallout Extensible Extensión
automatización Política IntegrationCallout Extensible Extensión
Ícono de la política JavaCallout Política JavaCallout Extensible Extensión
Ícono de la política de JavaScript Política JavaScript Extensible Extensión
add_notes Política MessageLogging Extensible Extensión
chat_paste_go Política PublishMessage Estándar Extensión
Ícono de política de PythonScript Política PythonScript Extensible Extensión
integration_instructions Política ServiceCallout Extensible Extensión
automatización Política SetIntegrationRequest Extensible Extensión
waterfall_chart Política TraceCapture Extensible Extensión
cloud_done Política AccessEntity Extensible Mediación
account_tree Política AssertCondition Estándar Mediación
edit_square Política AssignMessage Extensible Mediación
login Política ExtractVariables Extensible Mediación
Ícono de la política de GraphQL Política GraphQL Estándar Mediación
sync_alt Política HTTPModifier Estándar Mediación
sync_alt Política JSONtoXML Estándar Mediación
account_tree Política de operaciones de mapas de clave-valor Extensible Mediación
sync_alt Política MonetizationLimitsCheck Extensible Mediación
cloud_done Política OASValidation Estándar Mediación
informe Política RaiseFault Estándar Mediación
sync_alt Política ReadPropertySet Estándar Mediación
cloud_done Política SOAPMessageValidation Estándar Mediación
sync_alt Política XMLtoJSON Estándar Mediación
cloud_done Política XSLTransform Extensible Mediación
cerradura Política AccessControl Estándar Seguridad
seguridad Política BasicAuthentication Extensible Seguridad
connect_without_contact Política de CORS Estándar Seguridad
cerradura Política DecodeJWS Extensible Seguridad
cerradura Política DecodeJWT Estándar Seguridad
llave de acceso Política DeleteOAuthV2Info Extensible Seguridad
cerradura Política GenerateSamlAssertion Extensible Seguridad
cerradura Política GenerateJWS Extensible Seguridad
cerradura Política GenerateJWT Extensible Seguridad
llave de acceso Política GetOAuthV2Info Extensible Seguridad
cerradura Política HMAC Estándar Seguridad
seguridad Política JSONThreatProtection Extensible Seguridad
llave de acceso Política de OAuthV2 Extensible Seguridad
seguridad Política RegularExpressionProtection Extensible Seguridad
llave de acceso Política RevokeOAuthV2 Extensible Seguridad
llave de acceso Política SetOAuthV2Info Extensible Seguridad
cerradura Política ValidateSamlAssertion Extensible Seguridad
key Política VerifyAPIKey Extensible Seguridad
llave de acceso Política VerifyIAM Extensible Seguridad
cerradura Política VerifyJWS Extensible Seguridad
cerradura Política VerifyJWT Estándar Seguridad
seguridad Política XMLThreatProtection Extensible Seguridad
cached Política InvalidateCache Extensible Administración del tráfico
cached Política LookupCache Extensible Administración del tráfico
cached Política PopulateCache Extensible Administración del tráfico
bar_chart_4_bars Política de cuotas Extensible Administración del tráfico
repartition Política ResetQuota Extensible Administración del tráfico
cached Política ResponseCache Extensible Administración del tráfico
emergency_home Política SpikeArrest Estándar Administración del tráfico

Otros íconos

En la siguiente tabla, se describe el propósito de los otros íconos que verás en el panel de transacciones. Estos íconos marcan cada uno de los pasos destacados del procesamiento en el flujo del proxy.

Para filtrar la tabla, sigue estos pasos:

  • Selecciona un tipo de ícono.
  • Haz clic en el encabezado de la columna Nombre para ordenar la tabla por nombre de ícono.
  • Escribe una palabra clave para buscar el nombre de un ícono.

Tipo de ícono

Ícono Nombre Tipo Descripción
monitor App cliente Transacción estándar La app cliente que envía una solicitud al ProxyEndpoint del proxy de API.
círculo Extremo de transición Transacción estándar El círculo marca extremos de transición en el flujo del proxy. Están allí cuando llega una solicitud del cliente, cuando la solicitud va al destino, cuando la respuesta regresa del destino y cuando la respuesta regresa al cliente.
stat_0 Segmento de flujo Transacción estándar

El diamante indica el comienzo de un segmento del flujo en el flujo del proxy de API. Los segmentos de flujo son: solicitud de ProxyEndpoint, solicitud de TargetEndpoint, respuesta de TargetEndpoint y respuesta de ProxyEndpoint. Un segmento incluye PreFlow, flujos condicionales y PostFlow.

Consulta Flujos condicionales para obtener más información.

Ícono de condición verdadera Flujo condicional verdadero Transacción estándar

Un flujo condicional que se evalúa como verdadero (como una declaración if que se evaluó como true). Para obtener una introducción a los flujos condicionales, consulta Flujos condicionales.

Ten en cuenta que algunas condiciones las genera Apigee. Por ejemplo, la siguiente es una expresión que Apigee usa para verificar si se produjo un error en el ProxyEndpoint:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))

Ícono de condición falsa Flujo condicional falso Transacción estándar

Un flujo condicional que se evalúa como falso. Para obtener una introducción a los flujos condicionales, consulta Flujos condicionales.

Ten en cuenta que algunas condiciones las genera Apigee. Por ejemplo, la siguiente es una expresión que Apigee usa para verificar si se produjo un error en TargetEndpoint:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

Ícono de información del flujo Información del flujo Transacción estándar Representa información contextual sobre la ejecución del proxy de API, que varía según el punto del flujo. Esto incluye detalles sobre la configuración del proxy, el estado de ejecución actual (p.ej., PreFlow, PostFlow, hooks de flujo), detalles de la ejecución de políticas y variables propagadas durante la ejecución de políticas, para indicar el estado específico del proxy en ese momento.
done_all Ejecución del flujo Transacción estándar Marca el inicio o el final de la ejecución de un flujo, lo que indica el período de un segmento de flujo distinto para demarcar visualmente los límites del flujo y mostrar la secuencia de ejecución del flujo.
commit Procesamiento de flujos Transacción estándar Indica el procesamiento activo dentro de un flujo, lo que representa el período durante el cual se ejecutan las políticas y la lógica del flujo.
bar_chart Datos capturados por Apigee Analytics Transacción estándar Indica que las acciones de estadísticas ocurrieron en segundo plano.
location_on Servicio de backend Transacción estándar Servicio de backend que recibe la solicitud. El destino de backend al que llama el proxy de API.
ícono de inhabilitado Inhabilitado Estado del paso Aparece en el ícono de una política cuando está inhabilitada. Se puede inhabilitar una política con la API pública. Consulta la referencia de configuración del proxy de API.
Ícono de error Error Estado del paso Aparece en un ícono de política cuando la condición del paso de política se evalúa como falsa (consulta Condiciones con variables de flujo) o en el ícono de la política RaiseFault cuando se ejecuta una política RaiseFault.
ícono de omitido Omitido Estado del paso Aparece en un ícono de política cuando la política no se ejecutó porque la condición del paso se evaluó como falsa. Consulta Condiciones con variables de flujo para obtener más información.

Depuración v1

En esta versión, se utiliza un gráfico de Gantt para mostrar los pasos de la solicitud y la respuesta. No se proporciona una leyenda.

IU clásica

En la siguiente tabla, se describe el propósito de los íconos que verás en el mapa de transacciones. Estos íconos marcan cada uno de los pasos destacados del procesamiento en el flujo del proxy.

Íconos del mapa de transacciones

ícono de la app cliente La app cliente que envía una solicitud al ProxyEndpoint del proxy de API.
ícono de extremo de transición Los círculos marcan extremos de transición en el flujo del proxy. Están allí cuando llega una solicitud del cliente, cuando la solicitud va al destino, cuando la respuesta regresa del destino y cuando la respuesta regresa al cliente.
ícono de segmento de flujo

Las barras largas indican el comienzo de un segmento del flujo en el proxy de API. Los segmentos de flujo son: solicitud de ProxyEndpoint, solicitud de TargetEndpoint, respuesta de TargetEndpoint y respuesta de ProxyEndpoint. Un segmento incluye PreFlow, flujos condicionales y PostFlow.

Para obtener más información, consulta Configura flujos.

ícono de estadísticas

Indica que las acciones de estadísticas ocurrieron en segundo plano.

Ícono de condición verdadera

Flujo condicional que se evalúa como verdadero. Para obtener una introducción a los flujos condicionales, consulta Configura flujos.

Ten en cuenta que algunas condiciones las genera Apigee. Por ejemplo, la siguiente es una expresión que Apigee usa para verificar si se produjo un error en el ProxyEndpoint:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))
ícono de condición falsa

Un flujo condicional que se evalúa como falso. Para obtener una introducción a los flujos condicionales, consulta Configura flujos.

Ten en cuenta que algunas condiciones las genera Apigee. Por ejemplo, la siguiente es una expresión que Apigee usa para verificar si se produjo un error en el TargetEndpoint:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

ícono de xml a json

ícono de cuota

Políticas Cada tipo de política tiene un ícono único. Este es para la política AssignMessage. Estos íconos te permiten ver dónde se ejecutan las políticas en el orden adecuado y si son exitosas o no. Puedes hacer clic en el ícono de una política para ver los resultados de su ejecución y si se esperan o no. Por ejemplo, puedes ver si el mensaje se transformó de forma correcta o si se está almacenando en caché.

Las políticas que se ejecutan de forma correcta se indican claramente con marcas de verificación. Si se genera un error, aparecerá un signo de exclamación rojo en el ícono.

ícono del servidor El destino de backend al que llama el proxy de API.
ícono de milisegundos La línea de tiempo indica cuánto tiempo (en milisegundos) tardó en completarse el tiempo de procesamiento. La comparación de los segmentos de tiempo transcurrido te ayuda a aislar las políticas que tardan más en ejecutarse y que ralentizan las llamadas a la API.
ícono de épsilon Epsilon indica un intervalo de tiempo menor que un milisegundo.
ícono de inhabilitado

Inhabilitada Aparece en el ícono de una política cuando está inhabilitada. Se puede inhabilitar una política con la API pública. Consulta la referencia de configuración de proxy de API.

Ícono de error Error. Aparece en un ícono de política cuando la condición del Paso de política se evalúa como falsa (consulta Condiciones y variables de flujo) o en el ícono de la política RaiseFault cuando una política de RaiseFault se ejecuta.
ícono de omitido Omitida. Aparece en un ícono de política cuando la política no se ejecutó porque la condición del paso se evaluó como falsa. Consulta Variables y condiciones de flujo para obtener más información.

Panel de detalles de la fase

El panel de detalles de la fase te indica el estado de tu proxy en cada paso de procesamiento.

Consola de Apigee Cloud

Depuración v2 (nuevo)

El panel de detalles de la fase te indica mucho sobre el estado de tu proxy en cada paso de procesamiento. Estos son algunos de los detalles que se proporcionan. Haz clic en cualquier ícono de la herramienta de depuración para ver los detalles del paso seleccionado o usa los botones > Siguiente o < Atrás para pasar de un paso a otro.

En la siguiente tabla, se describen los detalles que se proporcionan en el panel de detalles de la fase.

Detalle de la fase Descripción
Variables

Enumera las variables de flujo que una política leyó y a las que les asignó un valor. Consulta también Cómo usar variables de flujo.

Encabezados de la solicitud Muestra una lista de los encabezados de la solicitud HTTP.
Contenido de la solicitud Muestra el cuerpo de la solicitud HTTP.
Propiedades Las propiedades representan el estado interno del proxy de API. Estas no se muestran de forma predeterminada.
Extremo de destino Indica qué TargetEndpoint se seleccionó para su ejecución.
Encabezados de respuesta Enumera los encabezados de respuesta HTTP.
Contenido de la respuesta Muestra el cuerpo de la respuesta HTTP.

Depuración v1

Haz clic en los pasos del diagrama de Gantt para ver los detalles de la fase o recorre una sesión de depuración con los botones > Siguiente o < Atrás.

IU clásica

La parte de Detalles de la fase de la herramienta te indica mucho sobre el estado de tu proxy en cada paso de procesamiento. Estos son algunos de los detalles que se proporcionan en los Detalles de la fase. Haz clic en cualquier ícono de la herramienta de depuración para ver los detalles del paso seleccionado o usa los botones Siguiente/Atrás para pasar de un paso a otro.

Detalle de la fase Descripción
Extremo de proxy Indica qué flujo ProxyEndpoint se seleccionó para realizar la ejecución. Un proxy de API puede tener varios extremos de proxy con nombre.
Variables

Enumera las variables de flujo que una política leyó y a las que les asignó un valor. Consulta Cómo usar variables de flujo.

Nota:

  • Un signo igual (=) indica el valor que se le asignó a la variable.
  • Un signo de igual tachado (≠) indica que a la variable no se le pudo asignar un valor porque es de solo lectura o se produjo un error durante la ejecución de la política.
  • Un campo vacío indica que se leyó el valor de la variable.
Encabezados de la solicitud Muestra una lista de los encabezados de la solicitud HTTP.
Contenido de la solicitud Muestra el cuerpo de la solicitud HTTP.
Propiedades Las propiedades representan el estado interno del proxy de API. Estas no se muestran de forma predeterminada.
Extremo de destino Indica qué TargetEndpoint se seleccionó para su ejecución.
Encabezados de respuesta Enumera los encabezados de respuesta HTTP.
Contenido de la respuesta Muestra el cuerpo de la respuesta HTTP.
PostClientFlow Muestra información sobre PostClientFlow, que se ejecuta después de que se muestra la solicitud en la app cliente solicitante. Solo se pueden adjuntar políticas MessageLogging a PostClientFlow. Por el momento, PostClientFlow se usa en especial para medir el intervalo de tiempo entre las marcas de tiempo de inicio y finalización del mensaje de respuesta.

Cronograma

La línea de tiempo indica cuánto tiempo (en milisegundos) tardó en completarse el tiempo de procesamiento. La comparación de los segmentos de tiempo transcurrido te ayuda a aislar las políticas que tardan más en ejecutarse y que ralentizan las llamadas a la API.

Epsilon indica un intervalo de tiempo menor que un milisegundo.

Consola de Apigee Cloud

Depuración v2 (nuevo)

Haz clic para ver una imagen más grande Cronograma en la IU de Debug v2

Depuración v1

Haz clic para ver una imagen más grande Cronograma en la IU de Debug v1

IU clásica

Haz clic para ver una imagen más grande Cronograma en la IU clásica

Cómo expandir y contraer grupos

En esta sección, se describe cómo expandir y contraer grupos en el panel Transacción.

Consola de Apigee Cloud

Depuración v2 (nuevo)

Los pasos de la transacción, tanto para la solicitud como para la respuesta, se agrupan según cómo se configuraron anteriormente en la pestaña Develop, por flujo compartido. Por ejemplo, pre-proxy, post-proxy, pre-destino y post-destino.

Cada agrupación muestra claramente las políticas, las condiciones, los flujos compartidos y la información de flujo pertinentes.

Los flujos compartidos se agrupan y contraen de forma predeterminada.

Las siguientes acciones están disponibles en el panel de transacciones:

Elemento Nombre Descripción
Control deslizante para expandir todo
<img <="" alt="control deslizante para contraer todo" class="screenshot" src="/static/apigee/docs/api-platform/debug/images/collapse_all_slider.png" td="" width="" />
Expandir todo
Contraer todo
Expande o contrae todos los grupos.
ícono de expandir grupo
ícono de contraer grupo
Expandir
Contraer
Expandir o contraer un grupo

Consulta lo siguiente:

Depuración v1

En esta versión, no está disponible la opción para expandir y contraer grupos.

IU clásica

En esta versión, no está disponible la opción para expandir y contraer grupos.

La búsqueda te permite encontrar una palabra o frase en la solicitud o respuesta.

Consola de Apigee Cloud

Depuración v2 (nuevo)

La búsqueda te permite encontrar una palabra o frase en la solicitud o respuesta.

Ten en cuenta lo siguiente:

  • La búsqueda no distingue mayúsculas de minúsculas
  • La búsqueda se aplica a una sola transacción, es decir, no busca en todas las transacciones de la sesión de depuración.
  • La búsqueda expande las secciones contraídas, pero no muestra información sobre los nodos que se filtran con las selecciones de Opciones de vista.

Para realizar búsquedas, haz lo siguiente:

  1. Escribe texto en el cuadro de búsqueda.
  2. Presiona Intro.

    Los resultados de la búsqueda se destacan en el panel de transacciones y en el panel de detalles de la fase.

  3. Haz clic en keyboard_arrow_up Atrás o keyboard_arrow_down Siguiente para avanzar al paso siguiente o anterior.
Haz clic para ver una imagen más grande Resultados de la búsqueda en la IU de Debug v2

Depuración v1

La búsqueda no está disponible en esta versión.

IU clásica

La búsqueda no está disponible en esta versión.

Zoom

El zoom te permite controlar la vista del panel de transacciones.

Consola de Apigee Cloud

Depuración v2 (nuevo)

El zoom controla la vista del panel de transacciones de la siguiente manera:

Haz clic para ver una imagen más grande Controles de zoom de Debug v2
Ícono Descripción
100% Es el nivel de zoom actual. El valor predeterminado es 100%.
fit_screen Ajustar a la pantalla
zoom_in Acercar
zoom_out Alejar
youtube_searched_for Restablecimiento del zoom

Depuración v1

Zoom no está disponible en esta versión.

IU clásica

Zoom no está disponible en esta versión.

Depura con la herramienta de depuración

La depuración te permite ver muchos detalles internos sobre un proxy de API. Por ejemplo:

  • Puedes ver rápidamente qué políticas se ejecutan de forma correcta o fallan.
  • Supongamos que notaste en uno de los paneles de Analytics que una de tus API experimenta una disminución inusual en el rendimiento. Ahora puedes usar la depuración para ayudar a identificar dónde se produce el cuello de botella. La depuración proporciona el tiempo, en milisegundos, que tarda en completarse cada paso de procesamiento. Si notas que un paso tarda demasiado, puedes tomar medidas correctivas.
  • Puedes verificar los encabezados que se envían al backend, ver las variables establecidas por políticas, etcétera.
  • Verifica la ruta base para asegurarte de que una política enrute el mensaje al servidor correcto.

Filtra datos en una sesión de depuración

Cuando creas una sesión de depuración, puedes agregar un filtro a esa sesión para que Apigee muestre solo los datos que deseas. Un filtro es una declaración condicional que Apigee evalúa con los mensajes de solicitud y respuesta a fin de determinar si sus datos de depuración deben incluirse en la sesión de depuración. Por ejemplo, puedes filtrar todas las solicitudes con un código de respuesta HTTP inferior a 599 o comparar los valores de la solicitud con las variables personalizadas.

Ten en cuenta lo siguiente:

  • Las solicitudes que no se incluyen en una sesión de depuración porque se filtran no se tienen en cuenta para la cantidad máxima de transacciones en la sesión de depuración.
  • Apigee no admite la adición de filtros en una cadena de consulta.
  • No puedes agregar un filtro a una sesión de depuración una vez iniciada la sesión. Para agregar un filtro, debes crear una sesión de depuración.

Usa filtros

Usa el filtro cuando crees una sesión de depuración con la IU o la API de Apigee, como se describe en las siguientes secciones.

Consola de Apigee Cloud

Cuando creas una sesión de depuración en la IU, en la lista desplegable Filtros, puedes elegir un filtro predefinido para aplicar en el panel Iniciar una sesión de depuración o seleccionar Filtro personalizado y compilar uno propio con la sintaxis de filtro.

IU clásica

Cuando creas una sesión de depuración en la IU, en la lista desplegable Filtros, puedes elegir un filtro predefinido para aplicar en el panel Iniciar una sesión de depuración o seleccionar Filtro personalizado y compilar uno propio con la sintaxis de filtro.

API

Para crear una sesión de depuración con un filtro mediante la API, incluye lo siguiente como carga útil en tu solicitud de creación de sesión de depuración:

{
  "filter":"filter_body"
}

Para obtener información sobre cómo crear filtros, consulta Sintaxis de filtro.

En el siguiente ejemplo, se crea una sesión de depuración que incluye solo transacciones en las que el encabezado A es igual a 42 y el encabezado B es igual a 43, o el código de falla es ExpectedEOF:

curl -H "Authorization: Bearer $TOKEN" -X "POST"
  https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions
  -d ' {
    "filter":"(request.header.A == '42' && request.header.B == '43') || fault.code == 'jsonparser.ExpectedEOF'"
  } '

Puedes definir un filtro solo en las solicitudes de creación de sesiones de depuración. No puedes agregar un filtro a una sesión de depuración existente ni quitar un filtro de una sesión de depuración activa.

Sintaxis de filtro

Los filtros admiten la misma sintaxis que usan las condiciones de Apigee, como se describe en la referencia de condiciones. Incluye lo siguiente:

Además, los filtros pueden acceder a todas las variables de flujo que se describen en la referencia de variables de flujo, así como a las variables personalizadas. En los siguientes ejemplos, se muestran solo algunas de las variables de flujo posibles que puedes usar en los filtros:

# Response codes:
  response.status.code <= 599
  response.status.code >=301 && response.status.code <=420

# Requests/responses:
  request.verb == "GET"
  request.header.A == 'B' || request.queryparam.X == 'Y'

# Query parameters:
  request.queryparam.myparam == 'fish'
  (request.queryparam.param1 == 'X' || request.queryparam.param2 == 'Y') && request.queryparam.param3 == 'Z'

# Faults:
  fault.code != 'messaging.runtime.RouteFailed'
  fault.name == 'IPDeniedAccess'

Para obtener información sobre el uso de variables personalizadas, consulta Cómo usar atributos personalizados en Apigee en la Comunidad de Apigee.

Filtros de IU predefinidos

La IU de Apigee proporciona un conjunto de filtros comunes para que no tengas que escribir tus propios filtros personalizados. Los filtros predefinidos se resumen en la siguiente tabla.

Nombre del filtro Descripción
Response Time Greater Than

Comprueba los problemas de latencia en los siguientes casos:

  • target.duration es la latencia de destino, o la cantidad de tiempo, en milisegundos, que tarda una solicitud en enviarse y recibirse en el destino (calculado como la diferencia entre target.received.end.timestamp y target.sent.start.timestamp)
  • client.duration es la latencia del cliente o la cantidad de tiempo, en milisegundos, que tarda una solicitud en enviarse y recibirse en el cliente (calculada como la diferencia entre client.received.end.timestamp y client.sent.start.timestamp)

Por ejemplo:

target.duration > 420 && client.duration > 1000

Para obtener más información, consulta client y target en Referencia de las variables de flujo.

Response Code

Comprueba si el código de respuesta HTTP coincide con el valor especificado. por ejemplo:

response.status.code <= 599
Header

Verifica si el encabezado de solicitud especificado es igual al valor especificado. Por ejemplo:

request.header.cache-control.1 == "16544"
Path

Comprueba si la solicitud coincide con la ruta de acceso especificada. Puedes usar la coincidencia con comodines en tu valor, por ejemplo:

request.path == /myproxy/customer/4*
Query Param

Comprueba si el parámetro de búsqueda de la solicitud especificado es igual al valor especificado. Por ejemplo:

request.queryparam.lang == "language:en-us"
Custom

Te permite insertar tus propias expresiones. Puedes usar cualquier objeto en la referencia de las variables de flujo y la sintaxis en la referencia de las condiciones. Además, puedes usar variables personalizadas.

Para obtener más información para crear filtros personalizados, consulta Sintaxis de filtro.

 

Visualiza sesiones de depuración

Apigee guarda los datos de la sesión de depuración durante 24 horas. No puedes configurar este valor. Luego de 24 horas, los datos dejarán de estar disponibles. Antes de que esto suceda, podrás ver las sesiones de depuración.

Mira sesiones de depuración recientes con la IU o la API de Apigee, como se describe en las siguientes secciones.

Consola de Apigee Cloud

Depuración v2 (nuevo)

Para ver las sesiones de depuración con la consola de Google Cloud

  1. En la Google Cloud consola, ve a la página Desarrollo de proxy > Proxies de API.

    Ir a Proxies de API

  2. Haz clic en el proxy que deseas depurar.
  3. Haz clic en la pestaña Depurar.
  4. En Sesiones de depuración recientes, se muestra una lista de las sesiones de depuración disponibles.
  5. Haz clic en el vínculo de la sesión que deseas ver.

Depuración v1

Para ver las sesiones de depuración con el Editor de proxies nuevo, haz lo siguiente:

  1. Accede a la consola deGoogle Cloud .
  2. Selecciona Desarrollo del proxy > Proxies de API.

  3. Selecciona el proxy que deseas depurar.
  4. Haz clic en la pestaña Depurar.
  5. En Sesiones de depuración recientes, se muestra una lista de las sesiones de depuración disponibles.
  6. Haz clic en el vínculo de la sesión que deseas ver.

IU clásica

Para ver las sesiones de depuración con el Editor de proxies clásico, sigue estos pasos:

  1. Accede a la IU de Apigee.
  2. En el menú principal, seleccione API Proxies:
  3. Selecciona el proxy que deseas depurar.
  4. Haz clic en la pestaña Depuración en la esquina superior derecha de la vista Implementaciones.
  5. En el panel Sesiones de depuración recientes, haz lo siguiente:
    1. En la lista desplegable Env, selecciona el entorno del proxy de API cuya sesión de depuración deseas ver.
    2. En la lista desplegable Rev, selecciona el número de revisión del proxy de API cuya sesión de depuración deseas ver.

    La IU de Apigee muestra una lista de sesiones de depuración disponibles.

  6. Haz clic en el vínculo de la sesión que deseas ver.

    La IU de Apigee carga la sesión de depuración y propaga el panel Enviar solicitudes con los datos de depuración.

API

Con la API, puedes hacer lo siguiente:

Visualiza todas las sesiones de depuración que usan la API

Para ver todas las sesiones de depuración recientes definidas para una revisión del proxy de API en un entorno, envía una solicitud GET al siguiente recurso:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions

De manera opcional, puedes especificar uno de los siguientes parámetros de consulta para controlar la cantidad de datos que se muestran:

  • pageSize: Cantidad máxima de sesiones de depuración para enumerar. El tamaño predeterminado de la página es 25.
  • pageToken: Token de página, que muestra una llamada anterior y que puedes usar para recuperar la página siguiente.

En el siguiente ejemplo, se muestra cómo ver las sesiones de depuración para la revisión 1 del proxy de la API de helloworld en el entorno test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions" \
-X GET \
-H "Authorization: Bearer $TOKEN"

En el ejemplo anterior, $TOKEN está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usa curl. Para obtener una descripción de las variables de entorno que puedes usar, consulta Configura variables de entorno para solicitudes a la API de Apigee.

La respuesta incluye un objeto sessions que contiene una lista de sesiones de depuración activas en este momento, como se muestra en el siguiente ejemplo:

{
"sessions": [
{
"id": "a423ac73-0902-4cfa-4242-87a353a84d87",
"timestamp_ms": 1566330186000
},
{
"id": "f1eccbbe-1fa6-2424-83e4-3d063b47728a",
"timestamp_ms": 1566330286000
}
]
}

Solo depura las sesiones que contengan al menos una transacción incluida en la respuesta; en esta lista, no se incluyen las sesiones de depuración que no tienen transacciones.

Para obtener más información, consulta API de enumeración de sesiones de depuración.

Visualiza todas las transacciones de una sesión de depuración mediante la API

Si deseas ver una lista de transacciones de una sesión de depuración, envía una solicitud GET al siguiente recurso:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data

En el ejemplo anterior, debugsession es el ID de una sesión de depuración que se muestra cuando ves las sesiones de depuración.

En el siguiente ejemplo, se muestra cómo ver las transacciones de una sesión de depuración para la revisión 1 de la API de helloworld en el entorno de test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \
-X GET \
-H "Authorization: Bearer $TOKEN"

En el ejemplo anterior, $TOKEN está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usa curl. Para obtener una descripción de las variables de entorno que puedes usar, consulta Configura variables de entorno para solicitudes a la API de Apigee.

En la respuesta, se incluye un array de ID de transacción, como se muestra en el siguiente ejemplo:

[
"myorg-test-ver-5qxdb-64",
"myorg-test-ver-5qxdb-65",
"myorg-test-ver-5qxdb-66",
"myorg-test-ver-5qxdb-67",
"myorg-test-ver-5qxdb-68",
"myorg-test-ver-5qxdb-69",
"myorg-test-ver-5qxdb-70",
"myorg-test-ver-5qxdb-71",
"myorg-test-ver-5qxdb-72"
]

Para obtener más información, consulta API de enumeración de datos de la sesión de depuración.

Visualiza datos de transacciones para una sesión de depuración mediante la API

Para ver los datos de transacciones de una sesión de depuración, envía una solicitud GET al siguiente recurso:

https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/debugsessions/{debugsession}/data/{transactionId}

En el ejemplo anterior, debugsession es el ID de una sesión de depuración que se muestra cuando ves las sesiones de depuración y transactionId es el ID de transacción que se muestra cuando ves una lista de transacciones de una sesión de depuración.

Los datos de transacciones que se guardan durante una sesión de depuración tienen formato JSON. Puedes cargar estos datos en la herramienta de depuración sin conexión.

En el siguiente ejemplo, se muestra cómo descargar los datos de transacciones de una sesión de depuración para la revisión 1 de la API de helloworld en el entorno de test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data/myorg-test-ver-5qxdb-64" \
-X GET \
-H "Authorization: Bearer $TOKEN"

En el ejemplo anterior, $TOKEN está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usa curl. Para obtener una descripción de las variables de entorno que puedes usar, consulta Configura variables de entorno para solicitudes a la API de Apigee.

La respuesta consta de una carga útil de JSON que contiene los datos de la transacción especificada, como se describe en Descarga la estructura de datos.

Los datos de depuración contienen toda la información sobre la solicitud y la respuesta de cada parte del flujo en un formato JSON propio. Puedes guardar estos datos y usarlos más tarde en la herramienta de depuración sin conexión.

Si no se agregó ninguna solicitud a la sesión antes de que finalice, la respuesta se verá de la siguiente manera:

[]

Para obtener más información, consulta Obtén la API de datos de la sesión de depuración.

Selecciona opciones de vista en la IU

En esta sección, se describe cómo seleccionar opciones de vista para filtrar lo que se muestra en la IU.

Consola de Apigee Cloud

Para elegir las opciones de vista de la sesión de depuración, selecciona o anula la selección de las opciones del panel Opciones de vista. Estas opciones de vista se conservan en todas las sesiones de depuración para cada usuario.

Haz clic para obtener una imagen más grande ver lista de opciones
Opción Descripción
Mostrar políticas inhabilitadas Mostrar las políticas inhabilitadas. Se puede inhabilitar una política con la API pública. Consulta la referencia de configuración del proxy de API.
Mostrar políticas omitidas Mostrar las políticas que se omitieron. Una política omitida se produce cuando la política no se ejecuta porque la condición del paso se evaluó como falsa. Consulta Condiciones con variables de flujo para obtener más información.
Mostrar todos los FlowInfos Representa transiciones dentro de un segmento de flujo.
Mostrar todas las condiciones de flujo Representan las condiciones que se evaluaron para cada flujo.

IU clásica

Para elegir las opciones de vista de la sesión de depuración, selecciona o anula la selección de las opciones del panel Opciones de vista:

ver lista de opciones

Opción Descripción
Mostrar políticas inhabilitadas Mostrar las políticas inhabilitadas. Se puede inhabilitar una política con la API pública. Consulta la referencia de configuración del proxy de API.
Mostrar las fases omitidas Mostrar las fases que se omitieron. Una fase omitida se produce cuando la política no se ejecuta porque la condición del paso se evaluó como falsa. Consulta Condiciones con variables de flujo para obtener más información.
Mostrar todos los FlowInfos Representa transiciones dentro de un segmento de flujo.
Compara automáticamente la fase seleccionada Compara la fase seleccionada con la anterior. Desactiva esta opción para ver solo la fase seleccionada.
Mostrar variables Muestra u oculta variables que se leyeron o a las que se les asignó un valor.
Mostrar propiedades Las propiedades representan el estado interno del proxy de API. (ocultas de manera predeterminada).

Comparte una sesión de depuración

Puedes compartir una sesión de depuración con otros usuarios que tengan acceso a tu organización y los permisos necesarios. Para hacerlo, envía las URL que se muestran en el navegador cuando veas la sesión de depuración. El vínculo solo es válido durante 24 horas después de que se crea la sesión de depuración.

Descarga datos de la sesión de depuración

Puedes descargar un archivo de resultados de depuración sin procesar para reproducirlo sin conexión. El archivo descargado muestra los detalles completos de la sesión de depuración, que incluye el contenido de todos los encabezados, variables y políticas.

Los datos de la sesión de depuración están disponibles para descargarlos o verlos en la IU solo por 24 horas. Después de ese punto, Apigee borra los datos de sesión.

Para ver los datos de la sesión de depuración descargados, usa la herramienta de depuración sin conexión.

Consola de Apigee Cloud

Depuración v2 (nuevo)

Para descargar la sesión de depuración actual en la Google Cloud consola, haz clic en Descargar en la vista de depuración.

Depuración v1

Para descargar la sesión de depuración actual, haz clic en Descargar sesión en el panel izquierdo de la vista de depuración.

Descarga una sesión de depuración.

Ten en cuenta que una sesión de depuración se borra dentro de las 24 horas posteriores a su finalización, por lo que, si deseas ver la sesión de depuración después de ese momento, debes descargarla antes de esa fecha.

IU clásica

Para descargar los datos de la sesión de depuración actual con el editor de proxy clásico, haz lo siguiente:

  • Sesión activa: Haz clic en el ícono Descargar (Ícono de descarga) en el panel Detalles de depuración.
  • Sesión anterior: Haz clic en el nombre de la sesión en el panel Sesiones de depuración recientes, como se describe en Visualiza sesiones de depuración. Luego, haz clic en Ícono de descarga en el panel Detalles de depuración.

API

Para ver los IDs de todas las transacciones de la sesión de depuración actual con la API de Apigee, ingresa el siguiente comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data

En el ejemplo anterior, SESSION_ID es el ID de la sesión de depuración que deseas descargar.

Consulta Enumera los IDs de transacción de una sesión de depuración.

Para obtener los datos de depuración de una transacción mediante la API de Apigee, ingresa el siguiente comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data/TRANSACTION_ID

Descarga la estructura de datos

La estructura de descarga de los datos de la sesión de depuración es diferente para la IU de Apigee y la API de Apigee.

Consola de Apigee Cloud

Cuando descargas datos con la IU de Apigee, esto es lo que ocurre con la estructura de datos:

  • Incluye todas las transacciones de la sesión.
  • Almacena transacciones en un arreglo de Messages.
  • Incluye metadatos sobre la sesión (como un objeto DebugSession).

IU clásica

Cuando descargas datos con la IU de Apigee, esto es lo que ocurre con la estructura de datos:

  • Incluye todas las transacciones de la sesión.
  • Almacena transacciones en un arreglo de Messages.
  • Incluye metadatos sobre la sesión (como un objeto DebugSession).

API

No puedes usar la API de Apigee para ver todos los datos de una sesión a la vez. Solo puedes usar la API para ver datos de transacciones individuales, como se describe en Visualiza sesiones de depuración.

Por ejemplo:

{
"completed": true,
"point": [
  ...
...
}

Descarga ejemplos de datos

En el siguiente ejemplo, se destaca un objeto de metadatos DebugSession en los datos descargados. Este objeto está seguido por el array Messages que contiene las transacciones en la sesión.

{
  "DebugSession": {
    "Retrieved": "2019-06-08T13:08:13.395Z",
    "Organization": "myorg",
    "Environment": "prod",
    "API": "myproxy",
    "Revision": "1",
    "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
  },
  "Messages": [
    {
      "completed": true,
      "point": [
        {
          "id": "Paused"
        },
        {
          "id": "Resumed"
        },
        {
          "id": "StateChange",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "To",
                    "value": "REQ_HEADERS_PARSED"
                  },
                  {
                    "name": "From",
                    "value": "REQ_START"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            },
            {
              "ActionResult": "RequestMessage",
              "headers": [
                {
                  "name": "accept",
                  "value": "*/*"
                },
                {
                  "name": "accept-encoding",
                  "value": "gzip,gzip,deflate,br"
                },
                {
                  "name": "content-length",
                  "value": "0"
                },
                {
                  "name": "host",
                  "value": "myorg.example.domain.net"
                },
                {
                  "name": "user-agent",
                  "value": "Google-Apigee"
                },
                {
                  "name": "x-b3-sampled",
                  "value": "0"
                },
                {
                  "name": "x-b3-spanid",
                  "value": "d4ee579206759662"
                },
                {
                  "name": "x-b3-traceid",
                  "value": "adc1e171777c237dd4ee579206759662"
                },
                {
                  "name": "x-forwarded-for",
                  "value": "66.102.8.98"
                },
                {
                  "name": "x-forwarded-proto",
                  "value": "https"
                },
                {
                  "name": "x-request-id",
                  "value": "54e05cba-4242-4490-4242-60c45c156f90"
                }
              ],
              "uRI": "/myproxy",
              "verb": "GET"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "environment.name",
                    "value": "prod"
                  },
                  {
                    "name": "environment.qualifiedname",
                    "value": "myorg__prod"
                  },
                  {
                    "name": "environment.orgname",
                    "value": "myorg"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "organization.name",
                    "value": "myorg"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "apiproxy.qualifiedname",
                    "value": "myproxy__1"
                  },
                  {
                    "name": "apiproxy.basepath",
                    "value": "/"
                  },
                  {
                    "name": "apiproxy.revision",
                    "value": "1"
                  },
                  {
                    "name": "apiproxy.name",
                    "value": "myproxy"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        ...
      ...
    }
  ]
}

Si la sesión de depuración no incluyó ninguna solicitud, el array Message está vacío, como se muestra en el siguiente ejemplo:

{
  "DebugSession": {
    "Retrieved": "2019-06-08T13:08:13.395Z",
    "Organization": "myorg",
    "Environment": "prod",
    "API": "myproxy",
    "Revision": "1",
    "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
  },
"Messages": []
}

Borra datos de una sesión de depuración

Borra datos de una sesión de depuración mediante la IU o la API de Apigee, como se describe en las siguientes secciones.

Consola de Apigee Cloud

Depuración v2 (nuevo)

Para borrar una sesión de depuración en la consola de Google Cloud , haz lo siguiente:

  1. En la pestaña Debug, haz clic en la fila de la sesión que deseas borrar.
  2. En el panel Sesión de depuración, haz clic en Borrar.

Depuración v1

Para borrar una sesión de depuración, sigue estos pasos:

  1. Selecciona la fila de la sesión que deseas borrar.
  2. Haz clic en el menú de tres puntos al final de la fila y selecciona Borrar.

IU clásica

Haz clic en Ícono Borrar en el panel Detalles de depuración de la sesión de depuración.

API

Para borrar todos los datos de la sesión de depuración con la API, envía una solicitud DELETE al siguiente recurso:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data

En el ejemplo anterior, debugsession es el ID de una sesión de depuración que se muestra cuando ves las sesiones de depuración.

En el siguiente ejemplo, se muestra cómo borrar los datos de la sesión de depuración para la revisión 1 de la API de helloworld en el entorno de test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \
      -X DELETE \
      -H "Authorization: Bearer $TOKEN"
    

En el ejemplo anterior, $TOKEN está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usa curl. Para obtener una descripción de las variables de entorno que puedes usar, consulta Configura variables de entorno para solicitudes a la API de Apigee.

Si se ejecuta correctamente, el cuerpo de la respuesta estará vacío.

Los datos de la sesión de depuración se conservan solo durante 24 horas. Si no lo borras de forma explícita antes de ese momento, Apigee lo borrará.