ExécutionGraphQL

La stratégie d'exécutionGraphQL permet d'exécuter une requête GraphQL à l'aide de sous-requêtes.

Prise en charge des passerelles

Tableau 1. Tableau indiquant les passerelles prenant en charge cette politique, ainsi que la version correspondante de la politique
Passerelle Version de la stratégie
DataPower® API Gateway 2.2.0.0DataPower API Gateway Version 10.0.4.0 et ultérieure)

2.2.1.0DataPower API Gateway Version 10.5.2.0 et ultérieure)

Cette rubrique explique comment configurer la stratégie dans l'interface utilisateur d'Assembly; pour plus de détails sur la configuration de la stratégie dans votre source d' OpenAPI, consultez la documentation de graphql-execute.

A propos de

La stratégie GraphQL Execute exécute une requête GraphQL à l'aide de sous-requêtes. La politique divise la requête GraphQL d'origine en plusieurs sous-requêtes qui peuvent ensuite être traitées de différentes manières. La politique d'exécutionGraphQL prend en charge les quatre sous-requêtes suivantes en tant que cibles :
  1. root; contient la requête GraphQL principale que vous voulez invoquer sur le backend.
  2. __introspection; contient la requête d'introspection qui peut être traitée localement sur 'DataPower API Gateway sans avoir à invoquer le backend.
  3. __rateLimit; contient la requête '__rateLimit qui spécifie les différentes données de limite de débit que vous souhaitez recevoir.
  4. __cost; contient la requête '__cost qui spécifie les différentes données de coût que vous souhaitez recevoir. Cette requête doit respecter le format défini dans la spécification « Cost Directives » de l' IBM GraphQL; voir « Introspection des résultats de l'analyse des coûts » __cost:.
Les cibles " root, " __rateLimit et " __introspection peuvent être exécutées dans n'importe quel ordre ou en même temps. La cible " __cost peut être exécutée à tout moment si aucune réponse n'est attendue. Si des données de réponse sont attendues, la cible " __cost est exécutée après la cible " root afin de renvoyer avec précision des données correctes sur le coût de la réponse. Une fois que toutes les cibles ont été exécutées, la politique GraphQL Execute combine toutes les réponses. Pour que les réponses des différentes cibles puissent être correctement fusionnées les unes avec les autres dans une réponse finale unique, la politique GraphQL Execute doit inclure tous les types d'introspection associés à chaque niveau des données de la réponse.
Remarque : si la demande comprend l'en-tête introspectionOnly, la politique d' exécution GraphQL n'exécutera que les sous-requêtes liées à l'introspection, à savoir _introspection, _rateLimit et _cost , sans invoquer le backend pour la requête racine. Ce comportement permet à la passerelle de renvoyer localement les métadonnées du schéma, les informations sur les limites de taux et les résultats de l'analyse des coûts.

Propriétés

Le tableau suivant répertorie les propriétés des stratégies, indique si une propriété est nécessaire, définit les valeurs d'entrée et par défaut valides et précise le type de données des valeurs.

Tableau 2. GraphQL Appliquer les propriétés de la stratégie
Libellé de la propriété Obligatoire Descriptif Type de données
Titre Non Titre de la stratégie.

La valeur par défaut est graphql-execute.

chaîne
Description Non Description de la stratégie. chaîne
Cible Non La cible des sous-requêtes. Les valeurs valides sont :
  • root; contient la requête GraphQL principale que vous voulez invoquer sur le backend.
  • __introspection; contient la requête d'introspection qui peut être traitée localement sur 'DataPower API Gateway sans avoir à invoquer le backend.
  • __rateLimit; contient la requête '__rateLimit qui spécifie les différentes données de limite de débit que vous souhaitez recevoir.
  • __cost; contient la requête '__cost qui spécifie les différentes données de coût que vous souhaitez recevoir. Cette requête doit respecter le format défini dans la spécification « Cost Directives » de l' IBM GraphQL; voir « Introspection des résultats de l'analyse des coûts » __cost:.
chaîne