Flujos compartidos reutilizables

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Puedes combinar políticas y recursos en un flujo compartido que se puede consumir desde varios proxies de API, o 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 rastrear un flujo compartido en la IU de Edge.

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

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

Para obtener información sobre la política FlowClaim, consulta la política de FlowFeatured. Para obtener más información sobre los hooks de flujo, consulta Adjunta un hook de flujo compartido.

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 código de autorización que usa OAuth y la verificación de clave de API, así como el 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 a un flujo compartido (con una política de Flow leyenda) para autenticar las solicitudes entrantes de los usuarios. AuthSharedFlow se implementó por separado en la organización antes de los proxies a fin de que esté disponible para admitir solicitudes de estos. 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 tus artefactos de origen de flujo compartido (consulta Importar un proxy de API nuevo 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 Management:

    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 debe implementarse en el mismo entorno que los proxies de API 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 Management como la que se muestra a continuación:

    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. (Es muy similar a los proxies de API, Para obtener más información, consulta Implementa proxies de API con la API de Management. Este es el formulario de solicitud para el uso de 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 FlowFeatured. (También puedes adjuntar el flujo compartido al proxy mediante un hook de flujo, como se describe en Adjunta un flujo compartido mediante un hook de flujo). Para obtener un instructivo introductorio sobre cómo crear un proxy de API, consulta Cómo compilar tu primer proxy de API.

    Para consumir un flujo compartido, agrega una política Flowley al proxy o al flujo compartido que lo consumirá. Al igual que una política Service Prompt, mediante la cual llamas a otro servicio, un FlowPrompt llama al flujo compartido. El proxy de la API de consumidor debe implementarse después del flujo compartido y en el mismo entorno que este. El flujo compartido debe estar implementado cuando quieras probar una llamada a él con la política Flowan.

    En el siguiente código, una política FlowExtension 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 Información sobre la implementación).
  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 el flujo compartido y el proxy de API que lo llama con una política FlowFeatured 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 incluir la política Flow leyenda 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 FlowFeatured preceden a los flujos compartidos. (para obtener más información sobre el seguimiento, consulta Cómo usar la 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 mediante la importación de fuentes de flujo existentes como un archivo ZIP de un 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, además de editar o borrar flujos.

    Conexión de integración

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

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

      El flujo compartido estará disponible para todos los proxies de API y los flujos compartidos implementados en un entorno desde esta organización. No estará disponible fuera de esta organización.

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

    Versión clásica de Edge (nube privada)

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

    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 Cómo cambiar entre tus organizaciones.

      El flujo compartido estará disponible para todos los proxies de API y los flujos compartidos implementados en un entorno desde 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 nuevo flujo compartido.
  3. En la página Compilar un flujo compartido, elige cómo deseas crear el flujo nuevo:
    • Crea un flujo nuevo desde cero. Podrás configurar políticas y recursos como pasos en el flujo.
      1. Selecciona Empty Shared Flow.
      2. Ingresa un valor para el nombre. Este será el nombre que usarán los proxies de API y otros flujos compartidos para hacer referencia a este flujo compartido. Debe ser descriptivo para los desarrolladores que consumen 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 deseas probar el flujo compartido de proxies de API implementados en el entorno de prueba, implementa el flujo compartido para probar.

      6. Haz clic en Build and Deploy para crear y, luego, implementar el nuevo flujo compartido en los entornos que seleccionaste. Si no seleccionaste ningún entorno, se creará el flujo compartido, pero no se implementará.

    • Crea un flujo compartido a partir de fuentes existentes mediante la carga de un paquete de flujo.
      1. Selecciona Paquete de flujo compartido para especificar un archivo ZIP que contenga los artefactos que deseas incluir en el flujo nuevo.

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

      2. Presiona Siguiente.
      3. Haz clic en Elegir archivo para buscar el archivo ZIP que contiene las fuentes de flujo compartidas que deseas importar.
      4. En el cuadro Nombre de flujo compartido, ingresa un nombre para el flujo importado. Este será el nombre que usarán 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. Presiona Siguiente.
      6. Haz clic en Compilar para compilar el flujo nuevo a partir de las fuentes que deseas 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, busca el proxy o el 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 FlowExtension al proxy en el que deseas que se realice la llamada.

Consulta también

Encadena proxies de API