Ajouter un flux partagé via un hook de flux

Cette page s'applique à Apigee et à Apigee hybrid.

Consultez la documentation d'Apigee Edge.

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.

Pour en savoir plus sur les flux partagés, consultez la page Créer des flux partagés réutilisables.

Vous devez associer un flux partagé à un hook de flux à l'aide de l'interface utilisateur 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 :

  1. Ouvrez l'interface utilisateur d'Apigee dans la console Cloud dans un navigateur.
  2. Sélectionnez l'organisation contenant votre flux partagé. Consultez la page Basculer d'une organisation à une autre.

    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.

  3. Dans le volet de navigation de gauche, cliquez sur Gestion > Environnements.
  4. Sélectionnez dans la liste des environnements disponibles celui que vous souhaitez modifier.
  5. Cliquez sur l'onglet Hooks de flux sur la page Détails de l'environnement.

    La vue Hooks de flux s'affiche.

  6. 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
  7. Dans la zone de liste du hook de flux que vous avez choisi, sélectionnez le flux partagé que vous souhaitez associer.
  8. Associez les flux partagés à d'autres hooks si nécessaire.
  9. Cliquez sur Enregistrer pour associer les flux partagés sélectionnés aux hooks de flux.

Apigee classique

Pour associer un flux partagé à un hook de flux :

  1. Connectez-vous à l'UI Apigee.
  2. Sélectionnez l'organisation contenant votre flux partagé. Consultez la page Basculer d'une organisation à une autre.

    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.

  3. Sélectionnez Admin > Environnements > Hooks de flux dans la barre de navigation de gauche.

    La vue Hooks de flux affiche les éléments suivants :

    Page des hooks de flux affichant des flux partagés pré-proxy, pré-cible, post-proxy et post-cible

  4. Dans la liste déroulante des environnements, sélectionnez l'environnement à modifier.
  5. 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
  6. Placez le curseur sur le hook du flux dans la liste pour afficher la colonne "Actions".
  7. Cliquez sur Modifier.
  8. Dans la boîte de dialogue Flux partagé, sélectionnez le flux partagé à associer dans le menu Flux partagé.
  9. Cliquez sur OK.
  10. Associez les flux partagés à d'autres hooks si nécessaire.