Flujos compartidos reutilizables

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

Puedes combinar políticas y recursos en un flujo compartido que puedes consumir de con varios proxies de API e incluso desde otros flujos compartidos. Aunque es como un proxy, un flujo compartido no tiene extremo. Solo se puede usar desde un proxy de API o un flujo compartido que se encuentre en la misma organización que el flujo compartido en sí.

Al capturar funciones de un solo lugar que son útiles en varios lugares, el flujo compartido te ayuda a garantizar la coherencia, acortar el tiempo de desarrollo y administrar más fácilmente el código.

En el siguiente video, se muestra cómo crear y hacer un seguimiento de un flujo compartido en la IU de Edge.

En el siguiente video de 5 minutos, se muestra cómo crear y hacer un seguimiento de un flujo compartido en la versión clásica IU de Edge (solo Edge para la nube privada).

Puede llamar a un flujo compartido mediante la política Flow mejorado. Además, si adjuntas un flujo compartido a un hook de flujo, puedes hacer que el flujo compartido se ejecute antes de una solicitud de proxy o destino. después de una respuesta de proxy o destino.

Si deseas obtener información sobre la política Flow conformidad, consulta la política Flow conformidad. Para obtener más información sobre hooks de flujo, consulta Adjunta un flujo compartido con un hook de flujo.

Por ejemplo, imagina que tienes áreas de funcionalidad que se usan en varios lugares o que se deben estandarizar entre las API de tu organización. Puedes tener un flujo compartido para cada categoría, incluido lo siguiente:

  • security, con un código de autorización que usa OAuth y verificación de clave de API, además de código de protección contra amenazas.
  • logging, para generar mensajes de error estándar
  • mediación, para transformar entre los formatos de mensajes XML y JSON.

En la siguiente ilustración, dos proxies de API llaman (con una política Flow) a una para autenticar las solicitudes entrantes de los usuarios. Se implementó AuthSharedFlow por separado a la organización antes de los proxies, de modo que esté disponible para admitir solicitudes proxies. Un equipo responsable de políticas generales de la empresa puede desarrollar y administrar un flujo compartido para, luego, consumirlo en los proxies de los equipos de línea de negocio que compilan apps más especializadas.

Desarrolla un flujo compartido

Cuando desarrollas un flujo compartido, siempre debes probarlo con llamadas enviadas a un proxy de API. En otras palabras, no puedes enviar solicitudes directamente a un flujo compartido como lo harías con un proxy de API. En su lugar, envías solicitudes a un proxy de API que, a su vez, llama al flujo compartido.

Estos son los pasos de alto nivel para desarrollar un flujo compartido:

  1. Descubre cuál debería ser el conjunto compartido de funciones.

    Por ejemplo, es posible que desees combinar funciones de administración del tráfico, como suprimir los aumentos de tráfico. De esa manera, puedes administrar su configuración fuera del flujo de trabajo de quienes implementan la lógica de línea de negocio.

  2. Desarrolla un flujo compartido mediante la implementación de políticas y recursos de asistencia, tal como lo harías al desarrollar un proxy de API.

    Un flujo compartido es una secuencia de pasos condicionales. Entonces, el desarrollo de uno es como desarrollar un proxy de API. Puedes incluir políticas y recursos que puedas incluir en un proxy.

    Por ejemplo, como parte de tu asistencia para la administración del tráfico, puedes implementar una política de protección contra aumentos de tráfico que permita solo 30 solicitudes por segundo, como en el siguiente ejemplo:

    <SpikeArrest async="false" continueOnError="false" enabled="true" name="Spike-Arrest">
        <DisplayName>Spike Arrest</DisplayName>
        <Properties/>
        <Identifier ref="request.header.some-header-name"/>
        <MessageWeight ref="request.header.weight"/>
        <Rate>30ps</Rate>
    </SpikeArrest>
    

    Luego, en un flujo compartido para la administración del tráfico, puedes adjuntar la política de Spike Arrest como un paso. La política se ejecutará en cualquier proxy de API que llame al flujo compartido.

    <SharedFlow name="default">
        <Step>
            <Name>Spike-Arrest</Name>
        </Step>
    </SharedFlow>
    

    Para obtener información sobre cómo iniciar un flujo compartido en la consola de administración, consulta Crea un flujo compartido en la IU de Edge.

    Al igual que con los proxies de API, puedes importar un archivo ZIP que contenga tu fuente de flujo compartida. artefactos (consulta Cómo importar un nuevo proxy de API para obtener más información sobre la importación de proxies). A continuación, se muestra cómo importar un flujo compartido con la API de administración:

    curl -X POST -F "file=@/path/to/zip/file.zip" \ 'https://api.enterprise.apigee.com/v1/o/{org_name}/sharedflows?action=import&name=shared-flow-name' \
    -u email:password
    
  3. Implementa el flujo compartido en el entorno antes de implementar proxies o flujos compartidos que lo consumirán. Implementa un flujo compartido de la misma manera en que implementas un proxy de API. (Para obtener más información, consulta Descripción general de la implementación).

    Un flujo compartido debe estar en la misma organización y, además, implementarse en el mismo entorno que la API proxies y otros flujos compartidos que lo consumen. La implementación del flujo compartido antes de los proxies hace posible la resolución de la dependencia del proxy en el flujo compartido, en el momento de la implementación.

    Puedes implementar un flujo compartido con una llamada a la API de administración como la siguiente:

    curl -X POST --header "Content-Type: application/octet-stream" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments \
    -u email:password
    

    También puedes reemplazar un flujo compartido implementado actualmente sin tiempo de inactividad. (Esto es muy parecido a proxies de API. Consulta Implementa proxies de API con la API de Management para obtener más información). Este es el formulario de solicitud con la API de Management:

    curl -X POST --header "Content-Type:application/x-www-form-urlencoded" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments?"override=true" \
    -u email:password
    
  4. Desarrolla el proxy de API de consumo para que pueda llamar al flujo compartido como parte de su propio flujo.

    Desde un proxy de API, se llama a un flujo compartido con una política FlowTexto. (Puedes también adjunta el flujo compartido al proxy con un hook de flujo, como se describe en Adjunta un flujo compartido mediante un hook de flujo). Para ver un instructivo introductorio sobre cómo crear un proxy de API, consulta Compila tu primer proxy de API.

    Para utilizar un flujo compartido, debes agregar una política Flow mejorado en el proxy o flujo compartido que lo consumirá. Al igual que una política de texto destacado de servicios, con la que se llama a otro servicio, un FlowReferencia llama al flujo compartido. Se debe implementar el proxy de API de consumo después del flujo compartido y al mismo entorno que el flujo compartido. El el flujo compartido debe implementarse cuando se desea probar una llamada a este con la política FlowTexto.

    En el siguiente código, una política Flow mejorado llama a un flujo compartido llamado traffic-management-shared

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Traffic-Management-Flow-Callout">
        <DisplayName>Traffic Management FlowCallout</DisplayName>
        <Properties/>
        <SharedFlowBundle>traffic-management-shared</SharedFlowBundle>
    </FlowCallout>
    

    Para obtener más información, consulta Llama a un flujo compartido desde un proxy de API o un flujo compartido

  5. Implementa el proxy de API de consumo para comenzar a usar el flujo compartido. (Para obtener más información sobre la implementación, en general, consulta Comprender Deployment).
  6. Realiza un desarrollo iterativo mediante el seguimiento, como lo harías con un proxy de API.

    Al igual que con un proxy de API, debes desarrollar un flujo compartido mediante la invocación iterativa y el seguimiento hasta que tengas la lógica como desees. En este caso, como el flujo compartido no se ejecuta por sí solo, invoca un extremo proxy y rastrea el proxy.

    A continuación, se indican los pasos que debes seguir:

    1. Asegúrate de que tanto el flujo compartido como el proxy de API que lo llaman con un FlowTexto estén en la misma organización y se implementen en el mismo entorno.
    2. En la pestaña Seguimiento del proxy de API, comience a realizar el seguimiento del proxy de API.
    3. Envía una solicitud a un extremo proxy en el proxy de API. El flujo desde el extremo debe incluyen la política Flow conformidad, que llama al flujo compartido.
    4. En la pestaña Seguimiento, examina el flujo del proxy de API al flujo compartido.

      Ten en cuenta que, en el seguimiento, el flujo compartido se representa como un conjunto de pasos o políticas en un cuadro gris. Los íconos que representan las políticas de Flow mejorado preceden a los flujos compartidos. (Para obtener más información sobre el seguimiento, consulta Cómo usar el Herramienta de seguimiento).

Crea un flujo compartido en la IU de Edge

Cuando usas la IU de Apigee Edge para crear un flujo compartido, puedes crear uno desde cero o importando fuentes de flujo existentes como un archivo ZIP de paquete de flujo.

  1. Accede a la página Flujos compartidos, como se describe a continuación. En la página Flujos compartidos, puedes ver una lista de flujos compartidos en la organización. editar o borrar flujos en la lista.

    Edge

    Para acceder a la página Flujos compartidos con la IU de Edge, haz lo siguiente:

    1. Accede a apigee.com/edge.
    2. Selecciona la organización que contiene tu flujo compartido. Consulta Cambia entre organizaciones.

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

    3. Selecciona Desarrollar > Flujos compartidos en la barra de navegación izquierda.

    Classic Edge (nube privada)

    Para acceder a la página Flujos compartidos con la IU clásica de Edge, sigue estos pasos:

    1. Accede a http://ms-ip:9000, donde ms-ip es la dirección IP o el nombre de DNS del nodo del servidor de administración.
    2. Selecciona la organización que contiene tu flujo compartido. Consulta Cambia entre organizaciones.

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

    3. Selecciona APIs > Flujos compartidos en la barra de navegación superior.
  2. Haz clic en el botón + Flujo compartido para comenzar a agregar un flujo compartido nuevo.
  3. En la página Build a Shared Flow, elige cómo deseas crear el nuevo flujo:
    • Crear un flujo nuevo desde cero Podrás configurar políticas y recursos como pasos en el flujo.
      1. Selecciona Vaciar flujo compartido.
      2. Ingresa un valor para el nombre. Este será el nombre que los proxies de API y otros flujos compartidos usar para hacer referencia a este flujo compartido. El nombre debe ser descriptivo para los desarrolladores consumiendo el flujo.
      3. Ingresa una descripción para proporcionar más información sobre lo que hace el flujo.
      4. Haz clic en Siguiente (Next).
      5. De manera opcional, selecciona los entornos en los que deseas implementar el flujo nuevo.

        Por ejemplo, si probarás el flujo compartido de los proxies de API implementados en entorno de prueba y, luego, implementa el flujo compartido en test.

      6. Haz clic en Build and Deploy para crear e implementar el nuevo flujo compartido los entornos seleccionados. Si no seleccionaste ningún entorno, el flujo compartido crearse, pero no implementarse.

    • Crea un paquete de flujo para crear un flujo compartido a partir de fuentes existentes.
      1. Selecciona Shared Flow Bundle para especificar un archivo ZIP que contenga los artefactos que deseas en el nuevo flujo.

        Un paquete de flujo compartido contiene los artefactos de origen de un flujo compartido. Por ejemplo: Si descargaras un flujo compartido desde la IU de Edge, tendrías un archivo ZIP con el paquete de flujo.

      2. Haz clic en Siguiente.
      3. Haz clic en Elegir archivo para buscar el archivo ZIP que contiene el flujo compartido. fuentes que quieres importar.
      4. En el cuadro Nombre de flujo compartido, ingresa un nombre para el flujo importado. Si confirmas esta acción, será el nombre que usan los proxies de API y otros flujos compartidos para hacer referencia a este flujo compartido. El nombre debe ser descriptivo para los desarrolladores que consumen el flujo.
      5. Haz clic en Siguiente (Next).
      6. Haz clic en Compilar para compilar el flujo nuevo a partir de las fuentes que quieres importar.

Llama a un flujo compartido desde un proxy de API o un flujo compartido

Puedes llamar a un flujo compartido desde un proxy o desde otro flujo compartido mediante la política FlowCallout.

  1. En la IU de Edge, ubica el proxy o flujo compartido desde el que deseas llamar a otro flujo compartido.
  2. En el navegador, junto a Políticas, haz clic en el botón +.*
  3. En la lista de políticas, en Extensión, haga clic en FlowCallout.
  4. Ingresa el nombre visible y el nombre (identificador único) y, luego, selecciona el flujo compartido al que llamará esta política.
  5. Haz clic en Agregar.
  6. Agrega la nueva política Flow conformidad con el proxy en el que deseas que se realice la llamada.

Consulta también

Encadena proxies de API