Adjunta un flujo compartido con un hook de flujo

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

Consulta la documentación de Apigee Edge.

Puedes hacer que los flujos compartidos realicen un procesamiento previo estándar de la solicitud o un procesamiento posterior de la respuesta en un conjunto de API. Con un hook de flujo, adjuntas un flujo compartido a fin de que se ejecute en el mismo lugar para todos los proxies de API implementados en un entorno específico. Esto te brinda una secuencia de lógica implementada por separado que no forma parte del código de implementación de un proxy.

Debido a que el código adjunto a un hook de flujo está fuera del contexto de la lógica principal del proxy de API, parte del comportamiento difiere de los proxies de API. Ten en cuenta lo siguiente:

  • Debes tener permiso para adjuntar un flujo compartido a un hook de flujo. Debes ser un administrador de la organización.
  • Solo puedes adjuntar un flujo compartido a cada hook de flujo.
  • Puedes conectar el mismo flujo compartido a varios hook de flujo.
  • Si un flujo compartido adjunto a un hook de flujo genera una falla o hay errores durante la ejecución del flujo compartido, el mensaje se rechazará y el error se enviará al emisor.
  • Si se rechaza un mensaje durante la ejecución de un hook de flujo, se registrarán los detalles en las estadísticas en el contexto del proxy llamado. El flujo compartido también puede arrojar una falla con un código personalizado y un mensaje de error.

En el siguiente video, se muestra cómo conectar un flujo compartido a un hook de flujo y, a continuación, realizar un seguimiento en la IU de Edge.

Un flujo compartido adjunto a un proxy a través de un hook de flujo proporciona un excelente lugar para la lógica que aplica requisitos de política amplios. Por ejemplo, imagina que tienes un equipo que administra un único conjunto de requisitos de seguridad para varios equipos que representan diferentes líneas de negocios (LOB). Cada equipo de LOB puede desarrollar API según sus propios requisitos y sin necesidad de tener en cuenta los requisitos de seguridad más amplios. El equipo de seguridad puede implementar esos requisitos de seguridad en un flujo compartido y, luego, adjuntar el flujo al entorno de Apigee mediante un hook de flujo. Debido a que el flujo compartido no forma parte del código de proxy, el equipo de seguridad puede revisarlo según sea necesario sin interferir en el código de LOB.

Los flujos compartidos adjuntos a través de hooks de flujo se ejecutan en esa posición para cada proxy de API implementado en el entorno del hook de proxy. Por esta razón, la capacidad de usar hook de flujo solo está disponible para los administradores de una organización de Apigee.

Para obtener más información sobre los flujos compartidos, consulta Crea flujos compartidos reutilizables.

Adjunta un flujo compartido a un hook de flujo mediante la IU de Apigee o la API de Flowhooks. Puedes adjuntar, como máximo, un flujo compartido a un hook de flujo en cada uno de los siguientes lugares:

  • Hook de flujo previo al proxy para lógica que debe aplicarse ANTES de ejecutar un extremo del proxy.

    Por ejemplo, podrías tener una lógica para aplicar la seguridad en todas las API de un entorno.

  • Hook de flujo previo al objetivo para lógica que debe aplicarse ANTES de ejecutar un extremo de destino.

    Por ejemplo, puedes implementar el registro antes de que la solicitud llegue al backend. También puedes aplicar la mediación si quitas ciertos campos de la solicitud.

  • Hook de flujo posterior al objetivo para la lógica que se debe aplicar LUEGO de la ejecución de la respuesta objetivo.

    Se aplicará de inmediato después de que la respuesta vuelva del backend. Puedes usarlo para registrar la respuesta del backend o realizar alguna mediación quitando los campos sensibles de la respuesta del backend.

  • Hook de flujo posterior al proxy para la lógica que debe aplicarse LUEGO del extremo proxy y justo antes de enviar la respuesta al cliente.

    Esto podría incluir cierta lógica de aplicación para CORS, el registro de la respuesta o la realización de un mashup o formateo.

Conecta un flujo compartido a un hook de flujo

Para adjuntar un flujo compartido a un hook de flujo, debes ser administrador de la organización que contiene el flujo compartido.

Apigee en la consola de Cloud

Para agregar un flujo compartido a un hook de flujo, haz lo siguiente:

  1. Abre la IU de Apigee en la consola de Cloud en un navegador.
  2. Selecciona la organización que contiene tu flujo compartido. Consulta Cambia entre tus organizaciones.

    El flujo compartido estará disponible para cualquier proxy de API y flujos compartidos implementados en un entorno de esta organización. No estará disponible fuera de esta organización.

  3. En el panel de navegación izquierdo, haz clic en Administración > Entornos.
  4. Selecciona el entorno que deseas editar de la lista de entornos disponibles.
  5. Haz clic en la pestaña Hook de flujo en la página Detalles del entorno.

    La vista Hook de flujo se muestra.

  6. En la lista de hooks de flujo, identifica el hook de flujo al que deseas adjuntar el flujo compartido. El hook de flujo que elijas depende de dónde deseas que se ejecute el flujo compartido.
    Ubicación del hook de flujo Descripción
    Enlace de flujo Se ejecuta antes de que se ejecute un extremo del proxy.
    Enlace de flujo anterior al destino Se ejecuta antes de que se ejecute un extremo del destino.
    Enlace de flujo posterior al destino Se ejecuta después de que se ejecute la respuesta del destino.
    Enlace de flujo posterior al proxy Luego del extremo del proxy y justo antes de enviar la respuesta al cliente
  7. En el cuadro de lista del hook de flujo que elegiste, selecciona el flujo compartido que deseas conectar.
  8. Vincula flujos compartidos a otros hooks de flujo según sea necesario.
  9. Haz clic en Guardar para adjuntar los flujos compartidos seleccionados a los hooks de flujo.

Apigee clásico

Para agregar un flujo compartido a un hook de flujo, haz lo siguiente:

  1. Accede a la IU de Apigee.
  2. Selecciona la organización que contiene tu flujo compartido. Consulta Cambia entre tus organizaciones.

    El flujo compartido estará disponible para cualquier proxy de API y flujos compartidos implementados en un entorno de esta organización. No estará disponible fuera de esta organización.

  3. Selecciona Administrador > Entornos > Hooks de flujo en la barra de navegación izquierda.

    La vista Hook de flujo muestra lo siguiente:

    Página de hook de flujo que muestra los flujos compartidos previos y posteriores al proxy y previos y posteriores al objetivo

  4. En la lista desplegable del entorno, selecciona el entorno que deseas modificar.
  5. En la lista de hooks de flujo, identifica el hook de flujo al que deseas adjuntar el flujo compartido. El hook de flujo que elijas depende de dónde deseas que se ejecute el flujo compartido.
    Ubicación del hook de flujo Descripción
    Enlace de flujo Se ejecuta antes de que se ejecute un extremo del proxy.
    Enlace de flujo anterior al destino Se ejecuta antes de que se ejecute un extremo del destino.
    Enlace de flujo posterior al proxy Luego del extremo del proxy y justo antes de enviar la respuesta al cliente
    Enlace de flujo posterior al destino Se ejecuta después de que se ejecute la respuesta del destino.
  6. Coloca el cursor sobre el hook de flujo en la lista para mostrar la columna de acciones.
  7. Haz clic en  Editar.
  8. En el cuadro de diálogo Shared Flow, selecciona el flujo compartido que deseas conectar en el menú Shared Flow.
  9. Haz clic en Aceptar.
  10. Vincula flujos compartidos a otros hooks de flujo según sea necesario.