Vous consultez la documentation Apigee Edge.
Accédez à la documentation sur Apigee X. info
Vous pouvez associer des règles et des ressources dans un flux partagé pouvant être utilisé à partir de plusieurs proxys d'API, voire même d'autres flux partagés. Bien qu'il soit comparable à un proxy, un flux partagé ne possède pas de point de terminaison. Il ne peut être utilisé que depuis un proxy d'API ou un flux partagé appartenant à la même organisation que le flux partagé lui-même.
En centralisant une fonctionnalité utile à plusieurs emplacements, un flux partagé vous aide à assurer la cohérence, à réduire le temps de développement et à gérer plus facilement le code.
La vidéo suivante montre comment créer et suivre un flux partagé dans l'interface utilisateur Edge.
La vidéo de cinq minutes suivante montre comment créer et tracer un flux partagé dans l'interface utilisateur Classic Edge (Edge pour Private Cloud uniquement).
Vous pouvez appeler un flux partagé à l'aide de la règle FlowCallout. De plus, en associant un flux partagé à un hook de flux, vous pouvez faire en sorte que le flux partagé s'exécute avant une requête cible ou de proxy, ou après une réponse cible ou de proxy.
Pour en savoir plus sur la règle FlowCallout, consultez la page Règle FlowCallout. Pour obtenir plus d'informations sur les hooks de flux, consultez la page Associer un flux partagé à l'aide d'un hook de flux.
Par exemple, imaginons que vous disposiez de fonctionnalités exploitées à plusieurs emplacements ou devant être uniformisées dans l'ensemble des API de votre organisation. Vous pouvez créer un flux partagé pour chaque catégorie, y compris les suivantes :
- La sécurité, avec le code d'autorisation utilisant l'authentification OAuth et la vérification des clés API, ainsi qu'un code de protection contre les menaces.
- La journalisation pour générer des messages d'erreur standards.
- La médiation pour convertir des messages XML au format JSON, et inversement.
Dans l'illustration suivante, deux proxys d'API font appel à un flux partagé (avec une règle FlowCallout) pour authentifier les requêtes entrantes des utilisateurs. Le flux AuthSharedFlow a été déployé séparément dans l'organisation avant les proxys. Il peut ainsi traiter leurs requêtes. Un flux partagé peut être développé et géré par une équipe chargée des règles générales de l'entreprise, puis utilisé dans des proxys par des équipes sectorielles créant des applications plus spécialisées.
Développer un flux partagé
Lorsque vous développez un flux partagé, vous devez toujours le tester en envoyant des appels à un proxy d'API. En d'autres termes, vous ne pouvez pas envoyer directement des requêtes à un flux partagé, comme vous le feriez avec un proxy d'API. À la place, vous envoyez des requêtes à un proxy d'API, qui lui-même appelle le flux partagé.
Voici les grandes étapes à suivre pour développer un flux partagé :
- Déterminez l'ensemble de fonctionnalités partagé.
Par exemple, vous pouvez associer des fonctionnalités de gestion du trafic, y compris la suppression des pics de trafic. De cette façon, vous pouvez gérer leur configuration en dehors du workflow de celles qui mettent en œuvre une logique sectorielle.
- Développez un flux partagé en définissant des règles et des ressources complémentaires, comme vous le feriez lors du développement d'un proxy d'API.
Un flux partagé est une séquence d'étapes conditionnelles. Le développement d'un flux partagé ressemble donc à celui d'un proxy d'API. Vous pouvez ajouter des règles et des ressources que vous pouvez inclure dans un proxy.
Par exemple, pour assurer la compatibilité avec la gestion du trafic, vous pouvez appliquer une règle Spike Arrest pour n'autoriser que 30 requêtes par seconde, comme dans l'exemple suivant :
<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>
Vous pouvez ensuite associer la règle Spike Arrest comme étape dans un flux partagé pour la gestion du trafic. La règle s'exécute pour tout proxy d'API qui appelle le flux partagé.
<SharedFlow name="default"> <Step> <Name>Spike-Arrest</Name> </Step> </SharedFlow>
Pour découvrir comment démarrer un flux partagé dans la console de gestion, consultez la section Créer un flux partagé dans l'interface utilisateur Edge.
Comme avec les proxys d'API, vous pouvez importer un fichier ZIP contenant les artefacts sources du flux partagé. Pour en savoir plus sur l'importation des proxys, consultez la section Importer un nouveau proxy d'API. L'exemple suivant montre comment importer un flux partagé avec l'API de gestion:
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
-
Déployez le flux partagé dans l'environnement avant de déployer des proxys ou des flux partagés qui l'utiliseront. Vous déployez un flux partagé de la même manière qu'un proxy d'API. (Pour en savoir plus, consultez la section Présentation du déploiement.)
Un flux partagé doit appartenir à la même organisation et être déployé dans le même environnement que les proxys d'API et les autres flux partagés qui l'utilisent. Le déploiement du flux partagé avant les proxys permet de s'affranchir de la dépendance du proxy sur le flux partagé au moment du déploiement.
Vous pouvez déployer un flux partagé à l'aide d'un appel d'API de gestion, comme suit:
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
Vous pouvez également remplacer un flux partagé actuellement déployé sans temps d'arrêt. (Cette opération est très semblable pour les proxys d'API. Pour en savoir plus, consultez la page Déployer des proxys d'API à l'aide de l'API de gestion.) Voici le format de la requête avec l'API de gestion:
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
- Développez le proxy d'API consommateur afin qu'il puisse appeler le flux partagé dans le cadre de son propre flux.
Dans un proxy d'API, vous appelez un flux partagé avec une règle FlowCallout. (Vous pouvez également associer le flux partagé au proxy à l'aide d'un hook de flux, comme décrit sur la page Associer un flux partagé à l'aide d'un hook de flux.) Pour suivre un tutoriel d'introduction sur la création d'un proxy d'API, consultez la section Créer votre premier proxy d'API.
Pour utiliser un flux partagé, ajoutez une règle FlowCallout au proxy ou au flux partagé qui l'utilisera. Tout comme une règle Service Callout, avec laquelle vous appelez un autre service, la règle FlowCallout appelle le flux partagé. Le proxy d'API consommateur doit être déployé après le flux partagé et dans le même environnement que celui-ci. Le flux partagé doit être en place lorsque vous souhaitez tester un appel à celui-ci à l'aide de la règle FlowAccroche.
Dans le code suivant, une règle FlowCallout appelle un flux partagé nommé
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>
Pour en savoir plus, consultez la section Appeler un flux partagé à partir d'un proxy d'API ou d'un flux partagé.
- Déployez le proxy d'API consommateur pour commencer à utiliser le flux partagé. Pour en savoir plus sur le déploiement en général, consultez la page Comprendre le déploiement.
- Procédez au développement de manière itérative par traçage, comme avec un proxy d'API.
Comme avec un proxy d'API, vous développez un flux partagé en appelant et en effectuant le suivi de manière itérative jusqu'à obtenir la logique qui vous convient. Dans ce cas, comme le flux partagé ne s'exécute pas de lui-même, vous appelez un point de terminaison du proxy et identifiez le proxy.
Procédez comme suit :
- Assurez-vous que le flux partagé et le proxy d'API qui l'appelle avec une règle FlowCallout se trouvent dans la même organisation et sont déployés dans le même environnement.
- Dans l'onglet Trace du proxy d'API, commencez à suivre la trace du proxy d'API.
- Envoyez une requête à un point de terminaison du proxy dans le proxy d'API. Le flux du point de terminaison doit inclure la règle FlowCallout qui appelle le flux partagé.
- Dans l'onglet Trace, examinez le flux entre le proxy d'API et le flux partagé.
Notez que dans le cadre du traçage, le flux partagé est représenté sous la forme d'un ensemble d'étapes ou de règles entouré d'une zone grise. Icônes représentant les règles FlowCallout précédant les flux partagés. (Pour en savoir plus sur le traçage, consultez la page Utiliser l'outil Trace.)
Créer un flux partagé dans l'interface utilisateur Edge
Lorsque vous créez un flux partagé à l'aide de l'interface utilisateur d'Apigee Edge, vous pouvez soit en créer un de toutes pièces, soit importer des sources de flux existantes sous forme de fichier ZIP de groupe de flux.
- Accédez à la page "Flux partagés", comme décrit ci-dessous. Sur la page "Flux partagés", vous pouvez afficher une liste des flux partagés de l'organisation, ainsi que modifier ou supprimer des flux dans la liste.
Edge
Pour accéder à la page "Flux partagés" à l'aide de l'interface utilisateur Edge:
- Connectez-vous à apigee.com/edge.
- Sélectionnez l'organisation contenant votre flux partagé. Consultez la page Basculer entre les organisations.
Le flux partagé sera disponible pour tous les proxys d'API et les flux partagés déployés dans un environnement à partir de cette organisation. Il ne sera pas disponible en dehors de cette organisation.
- Dans la barre de navigation de gauche, cliquez sur Développer > Flux partagés.
Edge classique (cloud privé)
Pour accéder à la page "Flux partagés" à l'aide de l'interface utilisateur classique d'Edge:
- Connectez-vous à
http://ms-ip:9000
, où ms-ip est l'adresse IP ou le nom DNS du nœud du serveur de gestion. - Sélectionnez l'organisation contenant votre flux partagé. Consultez la page Basculer entre les organisations.
Le flux partagé sera disponible pour tous les proxys d'API et les flux partagés déployés dans un environnement à partir de cette organisation. Il ne sera pas disponible en dehors de cette organisation.
- Sélectionnez API > Flux partagés dans la barre de navigation supérieure.
- Cliquez sur le bouton + Flux partagé pour commencer à ajouter un flux partagé.
- Sur la page Créer un flux partagé, choisissez la manière dont vous souhaitez créer le flux :
- Créez un flux de toutes pièces. Vous pouvez configurer des règles et des ressources en tant qu'étapes du flux.
- Sélectionnez Empty Shared Flow (Flux partagé vide).
- Saisissez un nom. Il s'agit du nom que les proxys d'API et d'autres flux partagés utilisent pour faire référence à ce flux partagé. Le nom doit être descriptif pour les développeurs qui utilisent le flux.
- Saisissez une description pour fournir davantage d'informations sur le flux.
- Cliquez sur Suivant.
- (Facultatif) Sélectionnez les environnements dans lesquels vous souhaitez déployer le nouveau flux.
Par exemple, si vous testez le flux partagé à partir de proxys d'API déployés dans l'environnement de test, déployez-le dans test.
-
Cliquez sur Build and Deploy (Créer et déployer) pour créer et déployer le nouveau flux partagé dans le ou les environnements sélectionnés. Si vous n'avez sélectionné aucun environnement, le flux partagé est créé, mais n'est pas déployé.
- Créez un flux partagé à partir de sources existantes en important un groupe de flux.
- Sélectionnez Shared Flow Bundle (Groupe de flux partagés) pour spécifier un fichier ZIP contenant les artefacts à inclure dans le nouveau flux.
Un groupe de flux partagés contient les artefacts sources d'un flux partagé. Par exemple, si vous téléchargez un flux partagé à partir de l'interface utilisateur d'Edge, vous devez disposer d'un fichier ZIP incluant le groupe de flux.
- Cliquez sur Suivant.
- Cliquez sur Sélectionner un fichier pour rechercher le fichier ZIP contenant les sources de flux partagés à importer.
- Dans la zone Shared Flow Name (Nom du flux partagé), attribuez un nom au flux importé. Il s'agit du nom que les proxys d'API et d'autres flux partagés utilisent pour faire référence à ce flux partagé. Le nom doit être descriptif pour les développeurs qui utilisent le flux.
- Cliquez sur Suivant.
- Cliquez sur Créer pour créer le flux à partir des sources que vous importez.
- Sélectionnez Shared Flow Bundle (Groupe de flux partagés) pour spécifier un fichier ZIP contenant les artefacts à inclure dans le nouveau flux.
- Créez un flux de toutes pièces. Vous pouvez configurer des règles et des ressources en tant qu'étapes du flux.
Appeler un flux partagé à partir d'un proxy d'API ou d'un flux partagé
Vous pouvez appeler un flux partagé à partir d'un proxy ou d'un autre flux partagé à l'aide de la règle FlowCallout.
- Dans l'interface utilisateur d'Edge, localisez le proxy ou le flux partagé à partir duquel vous souhaitez appeler un autre flux partagé.
- Dans le navigateur situé à côté de Règles, cliquez sur le bouton +.
- Dans la liste des règles, cliquez sur FlowCallout sous Extension.
- Saisissez le nom à afficher et le nom (identifiant unique), puis sélectionnez le flux partagé que cette règle appelle.
- Cliquez sur Ajouter.
- Ajoutez la nouvelle règle FlowCallout au proxy sur lequel vous souhaitez effectuer l'appel.