Ajouter un flux partagé via un hook de flux

Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X.
info

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 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 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 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 section 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 :

  • 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.

  • Hook de flux pré-cible destiné à 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 destiné à 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.

  • Hook de flux post-proxy destiné à 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.

    Edge

    Pour accéder à la page "Hook 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.

    Edge classique (cloud privé)

    Pour accéder à la page "Hook de flux" à l'aide de l'interface utilisateur classique d'Edge:

    1. Connectez-vous à http://ms-ip:9000, où ms-ip est l'adresse IP ou le nom DNS du nœud de 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 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 rattacher le flux partagé en fonction de l'emplacement où vous souhaitez exécuter le flux partagé.
    Emplacement du hook de flux Description
    Hook de flux de 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. Placez le curseur sur le hook du 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 rattacher dans le menu déroulant Flux partagé.
  6. Cliquez sur OK.
  7. Associez les flux partagés à d'autres hooks si nécessaire.