Estás viendo la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
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 hacer el seguimiento de 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 para la nube privada).
Puedes llamar a un flujo compartido con la política FlowFlow. 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 más información sobre la política de texto destacado, consulte la política de texto destacado. Para obtener más información sobre hooks de flujo, consulta Cómo adjuntar un flujo compartido mediante 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 la verificación de clave de API, así como código de protección contra amenazas.
- logging, para generar mensajes de error estándar
- mediación, para transformar entre formatos de mensaje XML y JSON.
En la siguiente ilustración, dos proxies de API llaman a un flujo compartido para autenticar las solicitudes de los usuarios entrantes (con una política FlowCaption). AuthSharedFlow se implementó por separado en la organización antes de que los proxies estuvieran disponibles, 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 iniciar un flujo compartido en la consola de administración, consulta Crea un flujo compartido en la IU perimetral.
Al igual que con los proxies de API, puedes importar un archivo ZIP que contenga tus artefactos de origen de flujo compartido (consulta Importa 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
-
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 se debe implementar 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 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 similar a los proxies de API. Consulta Cómo implementar proxies de API mediante 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, se llama a un flujo compartido con una política de FlowCaption. (También puedes adjuntar el flujo compartido al proxy usando un hook de flujo, como se describe en Adjunta un flujo compartido con un hook de flujo). Si deseas ver un instructivo introductorio sobre la creación de un proxy de API, consulta Cómo crear tu primer proxy de API.
Para consumir un flujo compartido, debes agregar una política de TextFlow al proxy o al flujo compartido que lo consumirá. Al igual que una política de texto destacado de servicio, con la que llamas a otro servicio, un flujo de texto destacado llama al flujo compartido. El proxy de la API de consumidor debe implementarse después del flujo compartido y en el mismo entorno que el flujo compartido. El flujo compartido debe estar implementado cuando quieras probar una llamada a través de la política de flujo de texto destacado.
En el siguiente código, una política de texto destacado 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 el flujo compartido y el proxy de API que lo llama con una política de FlowCaption estén 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 desde el extremo debe incluir la política FlowCaption 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 flujo de texto 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 importar fuentes de flujo existentes como un archivo ZIP del paquete de flujo.
- Acceder 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 en la organización y editarlos o borrarlos en la lista.
Perímetro
Para acceder a la página Flujos compartidos mediante la IU de Edge, haz lo siguiente:
- Accede a apigee.com/edge.
- Selecciona la organización que contiene tu flujo compartido. Consulta Cómo alternar entre 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.
- Selecciona Desarrollar > Flujos compartidos en la barra de navegación izquierda.
Classic Edge (nube privada)
Para acceder a la página Flujos compartidos mediante la IU clásica de Edge, sigue estos pasos:
- 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. - Selecciona la organización que contiene tu flujo compartido. Consulta Cómo alternar entre 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.
- Seleccione API > Flujos compartidos en la barra de navegación superior.
- Haga clic en el botón + Flujo compartido para comenzar a agregar un nuevo flujo compartido.
- En la página Build a Shared Flow, 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.
- Seleccione Flujo compartido vacío.
- 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. 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 de proxies de API implementados en el entorno de prueba, implementa el flujo compartido en test.
-
Haz clic en Compilar e implementar para crear e implementar el flujo compartido nuevo en los entornos que seleccionaste. Si no seleccionaste ningún entorno, se creará el flujo compartido, pero no se implementará.
- Sube un paquete de flujo para crear un flujo compartido a partir de las fuentes existentes.
- Selecciona Shared Flow Bundle para especificar un archivo ZIP que contenga los artefactos que deseas en el flujo nuevo.
Un paquete de flujo compartido contiene los artefactos de origen de un flujo compartido. Por ejemplo, si descargas 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 Choose File para buscar el archivo ZIP que contiene las fuentes de flujo compartidas que deseas importar.
- 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.
- Haz clic en Siguiente.
- Haz clic en Compilar para compilar el flujo nuevo desde las fuentes que vas a importar.
- Selecciona Shared Flow Bundle para especificar un archivo ZIP que contenga los artefactos que deseas en el flujo nuevo.
- Crea un flujo nuevo desde cero. Podrás configurar políticas y recursos como pasos en el 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 FlowCaption al proxy en el que deseas que se realice la llamada.