Ajouter un flux partagé via un hook de flux

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

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 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 le 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 Analytics 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 de Classic Edge.

La vidéo suivante montre comment connecter un flux partagé à un hook de flux, puis le tracer dans l'interface utilisateur de New Edge.

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 Edge à 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, la possibilité d'utiliser des hooks de flux n'est disponible que pour les administrateurs d'une organisation Apigee Edge.

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

Vous rattachez un flux partagé à un hook de flux en utilisant la console de gestion Apigee Edge. Vous pouvez rattacher au maximum un flux partagé à un hook de flux à chacun des emplacements suivants :

  • Hook de flux pré-proxy pour la logique qui doit être appliquée AVANT l'exécution d'un point de terminaison de proxy.

    Par exemple, vous pouvez disposer d'une logique de renforcement de la sécurité pour toutes les API d'un environnement.

  • Hook de flux pré-cible pour la logique qui doit être appliquée AVANT l'appel d'une 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.

  • Hook de flux post-cible pour la logique qui doit être appliquée APRÈS l'exécution de la réponse 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.

  • Hook de flux post-proxy pour 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.

  1. Accédez à la page Hooks de flux, comme décrit ci-dessous.

    Périphérie

    Pour accéder à la page Hooks de flux à l'aide de l'interface utilisateur Edge:

    1. Connectez-vous à apigee.com/edge.
    2. 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.

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

    Classic Edge (cloud privé)

    Pour accéder à la page "Hooks" de Flow à l'aide de l'interface utilisateur Classic Edge:

    1. Connectez-vous à http://ms-ip:9000, où ms-ip correspond à l'adresse IP ou au nom DNS du nœud du serveur de gestion.
    2. 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.

    3. Sélectionnez APIs > Environment Configuration > Flow Hooks (API > Configuration de l'environnement > Hooks de flux) dans la barre de navigation supérieure.
  2. Dans la liste des hooks de flux, identifiez le hook auquel vous souhaitez associer le flux partagé en fonction de l'emplacement d'exécution du flux partagé.
    Emplacement du crochet de flux Description
    Hook de flux pré-proxy AVANT l'exécution un point de terminaison du proxy
    Hook de flux pré-cible AVANT l'éxécution un point de terminaison cible
    Hook de flux post-cible APRÈS l'exécution de la réponse cible
    Hook de flux post-proxy APRÈS le point de terminaison de proxy et juste avant l'envoi de la réponse au client
  3. Positionnez votre curseur sur le hook de flux dans la liste pour afficher la colonne Actions.
  4. Cliquez sur .
  5. Dans la boîte de dialogue "Flux partagé", sélectionnez le flux partagé que vous souhaitez joindre dans le menu déroulant Flux partagé.
  6. Cliquez sur OK.
  7. Associez les flux partagés à d'autres hooks si nécessaire.