Estás viendo la documentación de Apigee Edge.
Ir a la documentación de
Apigee X. info
Puedes combinar políticas y recursos en un flujo compartido que puedes consumir desde varios proxies de API y hasta 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 rastrear un flujo compartido en la nueva IU de Edge (solo para Edge para la Nube privada).
Puedes llamar a un flujo compartido con la política FlowCallout. 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 de destino, o después de una respuesta de proxy o de destino.
Para obtener información de referencia sobre la política FlowCallout, consulta Política FlowCallout. Para obtener más información sobre los hooks de flujo, consulta Cómo adjuntar 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:
- seguridad, con código de autorización que usa OAuth y verificación de claves 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 formatos de mensajes XML y JSON
En la siguiente ilustración, dos proxies de API llaman (con una política de FlowCallout) a un flujo compartido para autenticar las solicitudes entrantes de los usuarios. El AuthSharedFlow se implementó por separado en la organización antes que los proxies, de modo que esté disponible para admitir solicitudes de los 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:
- 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.
-
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 comenzar 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 del flujo compartido (consulta Importa un proxy de API nuevo para obtener más información sobre la importación de proxies). En el siguiente ejemplo, se ilustra 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 -
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 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:passwordTambién puedes reemplazar un flujo compartido implementado actualmente sin tiempo de inactividad. (Esto es muy similar a los proxies de API. Consulta Implementa proxies de API con la API de administración para obtener más información. Este es el formulario de solicitud que usa la API de administración:
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 -
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, llamas a un flujo compartido con una política de FlowCallout. (También puedes adjuntar el flujo compartido al proxy con un hook de flujo, como se describe en Adjunta un flujo compartido con 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 consumir un flujo compartido, agrega una política FlowCallout al proxy o al flujo compartido que lo consumirá. Al igual que una política ServiceCallout, con la que llamas a otro servicio, una política FlowCallout llama al flujo compartido. El proxy de API que realiza el consumo debe implementarse después del flujo compartido y en el mismo entorno que este. El flujo compartido debe estar en su lugar cuando desees probar una llamada a él con la política FlowCallout.
En el siguiente código, una política de FlowCallout 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
- 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).
-
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:
- Asegúrate de que tanto el flujo compartido como el proxy de API que lo llama con una política FlowCallout se encuentren en la misma organización y se hayan implementado en el mismo entorno.
- En la pestaña Seguimiento del proxy de API, comience a realizar el seguimiento del proxy de API.
- Envía una solicitud a un extremo proxy en el proxy de API. El flujo del extremo debe incluir la política FlowCallout que llama al flujo compartido.
- 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 FlowCallout preceden a los flujos compartidos. (Para obtener más información sobre el seguimiento, consulta Cómo usar la herramienta de Trace).

Crea un flujo compartido en la IU de Edge
Cuando usas la IU de Apigee Edge para crear un flujo compartido, puedes crearlo desde cero o importar fuentes de flujo existentes como un archivo .zip de paquete de flujo.
- Accede a la página Flujos compartidos, como se describe a continuación. En la página Flujos compartidos, puedes ver una lista de los flujos compartidos de la organización y
editar o borrar los flujos de la lista.
Edge
Para acceder a la página Flujos compartidos con la IU de Edge, haz lo siguiente:
- Accede a apigee.com/edge.
- Selecciona la organización que contiene tu flujo compartido. Consulta Cómo cambiar entre tus organizaciones.
El flujo compartido estará disponible para cualquier proxy de API y flujo compartido implementado en un entorno de esta organización. No estará disponible fuera de esta organización.
- Selecciona Desarrollar > Flujos compartidos en la barra de navegación izquierda.
Nueva IU de Edge (nube privada)
Para acceder a la página Flujos compartidos con la nueva IU de Edge, haz lo siguiente:
- Accede a la nueva IU de Edge en
http://host:3001/edge, donde host es la dirección IP o el nombre de DNS del host que ejecuta la nueva IU de Edge. - Selecciona la organización que contiene tu flujo compartido. Consulta Cómo cambiar entre tus organizaciones.
El flujo compartido estará disponible para cualquier proxy de API y flujo compartido implementado en un entorno de esta organización. No estará disponible fuera de esta organización.
- Selecciona Desarrollar > Flujos compartidos en la barra de navegación izquierda.
- Haz clic en el botón + Flujo compartido para comenzar a agregar un nuevo flujo compartido.
- En la página Crea 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 del flujo.
- Selecciona Empty Shared Flow.
- Ingresa un valor de nombre. Este será el nombre que los proxies de API y otros flujos compartidos usarán para hacer referencia a este flujo compartido. El nombre debe ser descriptivo para los desarrolladores que consumen el flujo.
- Ingresa una descripción para proporcionar más información sobre lo que hace el flujo.
- Haz clic en Siguiente (Next).
- De manera opcional, selecciona los entornos en los que deseas implementar el flujo nuevo.
Por ejemplo, si probarás el flujo compartido desde proxies de API implementados en el entorno de prueba, implementa el flujo compartido en test.
-
Haz clic en Compilar y, luego, en Implementar para crear el nuevo flujo compartido y, luego, implementarlo en los entornos que seleccionaste. Si no seleccionaste ningún entorno, se creará el flujo compartido, pero no se implementará.
- Crea un paquete de flujo para crear un flujo compartido a partir de fuentes existentes.
- Selecciona Shared Flow Bundle para especificar un archivo .zip que contenga los artefactos
que deseas incluir 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.
- Haz clic en Siguiente.
- Haz clic en Elegir archivo para buscar el archivo .zip que contiene las fuentes del flujo compartido que deseas importar.
- En el cuadro Nombre del flujo compartido, ingresa un nombre para el flujo importado. Este será el nombre que los proxies de API y otros flujos compartidos usarán para hacer referencia a este flujo compartido. El nombre debe ser descriptivo para los desarrolladores que consumen el flujo.
- Haz clic en Siguiente (Next).
- Haz clic en Compilar para compilar el nuevo flujo a partir de las fuentes que importas.
- Selecciona Shared Flow Bundle para especificar un archivo .zip que contenga los artefactos
que deseas incluir en el nuevo flujo.
- Crea un flujo nuevo desde cero. Podrás configurar políticas y recursos como pasos del flujo.
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.
- En la IU de Edge, busca el proxy o el flujo compartido desde el que deseas llamar a otro flujo compartido.
- En el navegador, junto a Políticas, haz clic en el botón +.*
- En la lista de políticas, en Extensión, haga clic en FlowCallout.
- Ingresa el nombre visible y el nombre (identificador único) y, luego, selecciona el flujo compartido al que llamará esta política.
- Haz clic en Agregar.
- Agrega la nueva política de FlowCallout al proxy en el que deseas realizar la llamada.