Vous pouvez faire en sorte que des flux partagés effectuent un prétraitement de requête ou un post-traitement de réponse à travers un ensemble d'API. Avec un hook de flux, vous rattachez un flux partagé afin qu'il s'exécute au même endroit pour tous les proxys d'API déployés dans un environnement spécifique. Vous obtenez ainsi une séquence logique mise en œuvre et déployée séparément, qui ne fait pas partie du code de mise en œuvre d'un proxy.
Le code rattaché à un hook de flux étant hors du contexte de la logique de base du proxy d'API, certains de ses comportements diffèrent de ceux des proxys d'API. Tenez bien compte des éléments suivants :
Vous devez avoir l'autorisation d'associer un flux partagé à un hook de flux. Vous devez être un administrateur de l'entreprise.
Vous ne pouvez rattacher qu'un seul flux partagé à chaque point d'ancrage de flux.
Vous pouvez rattacher le même flux partagé à plusieurs hooks de flux.
Si un flux partagé rattaché à un hook de flux présente une anomalie ou si des erreurs se produisent lors de l'exécution du flux partagé, le message sera rejeté et l'anomalie sera renvoyée à l'appelant.
Si un message est rejeté lors de l'exécution d'un hook de flux, les détails sont enregistrés dans les données analytiques dans le contexte du proxy appelé. Le flux partagé peut également générer une erreur avec un code personnalisé et un message d'erreur.
La vidéo suivante montre comment connecter un flux partagé à un hook de flux, puis le tracer dans l'interface utilisateur Apigee.
Un flux partagé rattaché à un proxy par l'intermédiaire d'un hook de flux offre une excellente base logique pour l'application de règles générales. Par exemple, imaginez qu'une équipe gère un seul ensemble d'exigences de sécurité pour plusieurs équipes qui représentent différentes branches d'activité. Les équipes de chaque branche d'activité peuvent développer des API en fonction de leurs propres besoins, sans avoir à tenir compte des exigences de sécurité plus générales. L'équipe chargée de la sécurité peut mettre en œuvre ces exigences de sécurité dans un flux partagé, puis rattacher le flux à l'environnement Apigee à l'aide d'un hook de flux. Comme le flux partagé ne fait pas partie du code du proxy, l'équipe de sécurité peut le réviser si nécessaire sans interférer avec le code de la branche d'activité.
Les flux partagés rattachés par des hooks de flux s'exécutent à ce niveau pour chaque proxy d'API déployé dans l'environnement du hook du proxy. Pour cette raison, seuls les administrateurs d'une organisation Apigee peuvent utiliser des hooks de flux.
Vous devez associer un flux partagé à un hook de flux à l'aide de l'UI Apigee ou de l'API Flowhooks. Vous pouvez rattacher au maximum un flux partagé à un hook de flux à chacun des emplacements suivants :
Un hook de flux de pré-proxy assure la logique qui doit être appliquée AVANT qu'un point de terminaison de proxy ne s'exécute.
Par exemple, vous pouvez disposer d'une logique de renforcement de la sécurité pour toutes les API d'un environnement.
Un hook de flux pré-cible assure la logique qui doit être appliquée AVANT l'exécution d'un point de terminaison cible.
Par exemple, vous pouvez mettre en œuvre la journalisation avant que la requête n'atteigne le backend. Vous pouvez également appliquer une médiation en supprimant certains champs de la requête.
Un hook de flux post-cible assure la logique qui doit être appliquée APRÈS l'exécution de la réponse de la cible.
Elle sera appliquée dès que la réponse aura été renvoyée par le backend. Vous pouvez l'utiliser pour enregistrer la réponse du backend ou effectuer une médiation en supprimant les champs sensibles de la réponse.
Un hook de flux post-proxy assure la logique qui doit être appliquée APRÈS le point de terminaison du proxy et juste avant l'envoi de la réponse au client.
Cela peut inclure une logique d'application pour CORS, la journalisation de la réponse, ou l'exécution d'une application composite ou d'un formatage.
Rattacher un flux partagé à un hook de flux
Pour rattacher un flux partagé à un hook de flux, vous devez être un administrateur de l'organisation contenant ce flux.
Apigee dans la console Cloud
Pour associer un flux partagé à un hook de flux :
Dans la console Google Cloud , accédez à la page Gestion > Environnements.
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 dans la liste des environnements disponibles celui que vous souhaitez modifier.
Cliquez sur l'onglet Hooks de flux sur la page Détails de l'environnement.
La vue Hooks de flux s'affiche.
Dans la liste des hooks de flux, recherchez celui auquel vous souhaitez associer le flux partagé.
Le hook de flux que vous choisissez dépend de l'emplacement où vous souhaitez exécuter le flux partagé.
Emplacement du hook de flux
Description
Pré-proxy
S'exécute avant l'exécution d'un point de terminaison de proxy
Pré-cible
S'exécute avant l'exécution d'un point de terminaison cible
Post-cible
S'exécute après l'exécution de la réponse cible
Post-proxy
S'exécute après le point de terminaison de proxy et juste avant l'envoi de la réponse au client
Dans la zone de liste du hook de flux que vous avez choisi, sélectionnez le flux partagé que vous souhaitez associer.
Associez les flux partagés à d'autres hooks si nécessaire.
Cliquez sur Enregistrer pour associer les flux partagés sélectionnés aux hooks de flux.
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 Admin > Environnements > Hooks de flux dans la barre de navigation de gauche.
La vue Hooks de flux affiche les éléments suivants :
Dans la liste déroulante des environnements, sélectionnez l'environnement à modifier.
Dans la liste des hooks de flux, recherchez celui auquel vous souhaitez associer le flux partagé.
Le hook de flux que vous choisissez dépend de l'emplacement où vous souhaitez exécuter le flux partagé.
Emplacement du hook de flux
Description
Pré-proxy
S'exécute avant l'exécution d'un point de terminaison de proxy
Pré-cible
S'exécute avant l'exécution d'un point de terminaison cible
Post-proxy
S'exécute après le point de terminaison de proxy et juste avant l'envoi de la réponse au client
Post-cible
S'exécute après l'exécution de la réponse cible
Placez le curseur sur le hook du flux dans la liste pour afficher la colonne "Actions".
Cliquez sur createModifier.
Dans la boîte de dialogue Flux partagé, sélectionnez le flux partagé à associer dans le menu Flux partagé.
Cliquez sur OK.
Associez les flux partagés à d'autres hooks si nécessaire.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eThis content explains how to use flow hooks in Apigee and Apigee hybrid to attach shared flows for pre-processing or post-processing across multiple APIs.\u003c/p\u003e\n"],["\u003cp\u003eFlow hooks allow administrators to attach a shared flow to execute at specific points (pre-proxy, pre-target, post-target, post-proxy) in every API proxy deployed to a given environment.\u003c/p\u003e\n"],["\u003cp\u003eAttaching a shared flow to a flow hook is done through the Apigee UI or Flowhooks API, and it requires organization administrator permissions.\u003c/p\u003e\n"],["\u003cp\u003eA shared flow attached to a flow hook executes outside the core API proxy logic, allowing for the centralized management of policies like security or logging that applies to multiple APIs.\u003c/p\u003e\n"],["\u003cp\u003eThe attached shared flows to flow hooks can throw faults with custom messages, if any error occurs during execution, and are logged in the context of the calling proxy.\u003c/p\u003e\n"]]],[],null,["# Attaching a shared flow using a flow hook\n\n*This page\napplies to **Apigee** and **Apigee hybrid**.*\n\n\n*View [Apigee Edge](https://docs.apigee.com/api-platform/get-started/what-apigee-edge) documentation.*\n\nYou can have shared flows perform boilerplate request pre-processing or response\npost-processing across a set of APIs. With a *flow hook*, you attach a shared flow so that\nit executes at the same place for all API proxies deployed to a specific environment. This gives\nyou a separately implemented and deployed sequence of logic that is not part of a proxy's\nimplementation code.\n| **Note:** Attaching a shared flow to a flow hook is an action that has a very broad effect. The attached shared flow will execute at the flow hook's point **for every proxy deployed to that environment**.\n\nBecause code attached to a flow hook is outside the context of the API proxy core logic, some\nof its behavior differs from API proxies. Keep the following in mind:\n\n- You must have permission to attach a shared flow to a flow hook. You must be an org admin.\n- You can attach only one shared flow to each flow hook.\n- You can attach the same shared flow to multiple flow hooks.\n- If a shared flow attached to a flow hook raises a fault or there are errors during shared flow execution, the message will be rejected and fault will be sent back to the caller.\n- If a message gets rejected during execution of a flow hook, details will be logged to analytics in the context of the called proxy. The shared flow can also throw a fault with a custom code and error message\n\n| **Note:** This video was recorded with a previous version of the Apigee UI; however, the concepts are still valid.\n\nThe following video demonstrates how to connect a shared flow to a flow hook, then trace it,\nin the Apigee UI.\n\nA shared flow attached to a proxy via a flow hook provides a great place for logic that\nenforces broad policy requirements. For example, imagine that you have one team managing a single\nset of security requirements for multiple teams that represent different lines of businesses\n(LOBs). Each LOB team can develop APIs according to their own requirements, and without needing\nto account for the broader security requirements. The security team can implement those security\nrequirements in a shared flow, then attach the flow to the Apigee environment using a flow\nhook. Because the shared flow isn't part of proxy code, the security team can revise it as needed\nwithout interfering with LOB code.\n\nShared flows attached via flow hooks execute at that position for **every API proxy deployed\nto the proxy hook's environment**. For this reason, the ability to use flow hooks is available\nonly to administrators of an Apigee organization.\n\nFor more about shared flows, see\n[Creating reusable shared flows](/apigee/docs/api-platform/fundamentals/shared-flows).\n\nYou attach a shared flow to a flow hook using the Apigee UI or [Flowhooks API](/apigee/docs/reference/apis/apigee/rest/v1/organizations.environments.flowhooks). You can\nattach at most one shared flow to a flow hook at each of the following places:\n\n- **Pre-proxy flow hook** for logic that needs to be enforced BEFORE a proxy endpoint\n executes.\n\n For example, you could have logic for enforcing security across all the APIs in an\n environment.\n- **Pre-target flow hook** for logic that needs to be enforced BEFORE a target endpoint\n executes.\n\n For example, you could implement logging before the request reaches the backend. You could\n also enforce mediation by removing certain fields from the request.\n-\n **Post-target flow hook** for logic that needs to be enforced AFTER the target response\n executes.\n\n This will be enforced right after the response comes back from the backend. You can use it\n to log the backend response or perform some mediation by removing sensitive fields from the\n backend response.\n- **Post-proxy flow hook** for logic that needs to be enforced AFTER the proxy endpoint and\n right before the response is sent out to the client.\n\n This could include some enforcement logic for CORS, logging the response, or performing\n some mashup or formatting.\n\n### Attaching a shared flow to a flow hook\n\nTo attach a shared flow to a flow hook, you must be an administrator in the organization\ncontaining the shared flow.\n**Note:** Attaching a shared flow to a flow hook is an action that has a very broad effect. The attached shared flow will execute at the flow hook's point **for every proxy deployed to that environment**. \n\n### Apigee in Cloud console\n\nTo attach a shared flow to a flow hook:\n\n1. In the Google Cloud console, go to the **Management \\\u003e Environments** page.\n\n [Go to Environments](https://console.cloud.google.com/apigee/environments)\n2. Select the organization containing your shared flow. See [Switching between your organizations](/apigee/docs/api-platform/get-started/switch-org).\n\n The shared flow will be available to any API proxies and shared flows deployed to an\n environment from this organization. It won't be available from outside this organization.\n3. Select the environment you wish to edit from the list of available environments.\n4. Click the **Flow hooks** tab on the **Environment details** page.\n\n The **Flow hooks** view displays.\n5. In the list of flow hooks, identify the flow hook to which you want to attach the shared flow. The flow hook you choose depends upon where you want the shared flow to be executed.\n\n6. In the list box of the flow hook you chose, select the shared flow that you want to attach.\n7. Attach shared flows to other flow hooks as needed.\n8. Click **Save** to attach the selected shared flows to the flow hooks.\n\n### Classic Apigee\n\nTo attach a shared flow to a flow hook:\n\n1. Sign in to [Apigee UI](https://apigee.google.com).\n2. Select the organization containing your shared flow. See [Switching between your organizations](/apigee/docs/api-platform/get-started/switch-org).\n\n The shared flow will be available to any API proxies and shared flows deployed to an\n environment from this organization. It won't be available from outside this organization.\n3. Select **Admin \\\u003e Environments \\\u003e Flow hooks** in the left navigation bar.\n\n The **Flow hooks** view displays:\n\n4. From the environment drop-down list, select the environment that you want to modify.\n5. In the list of flow hooks, identify the flow hook to which you want to attach the shared flow. The flow hook you choose depends upon where you want the shared flow to be executed.\n\n6. Position your cursor over the flow hook in the list to display the actions column.\n7. Click create **Edit**.\n8. In the **Shared Flow** dialog, select the shared flow that you want to attach in the **Shared flow** menu.\n9. Click **OK**.\n10. Attach shared flows to other flow hooks as needed."]]