Utilisation de l' éditeur de schémaGraphQL
L' éditeur de schémaGraphQL permet de configurer une plage de paramètres utilisés pour calculer la complexité d'une demande GraphQL et un coût associé qui compte pour la limite de débit.
Introduction
Lorsque l' éditeur de schémaGraphQL s'ouvre, tous les types définis dans le schéma GraphQL sont répertoriés. Vous pouvez développer un type pour afficher toutes les zones qui sont définies pour ce type.
- Poids du type
- Facteur de pondération que vous souhaitez appliquer au type pour calculer le coût d'une demande à l'API GraphQL. En règle générale, le facteur de pondération d'un type reflétera les conséquences de l'extraction des valeurs de ce type sur les ressources. Par exemple :
- Un objet complexe peut avoir une pondération plus importante qu'une chaîne.
- Les valeurs d'un type peuvent être extraites à partir d'une base de données de back end différente vers des valeurs d'un autre type. Sachant que l'accès à une base de données requiert davantage de ressources d'unité centrale, les types associés à cette base de données ont une pondération plus importante.
- Poids de la zone
- Facteur de pondération que vous souhaitez appliquer à la zone pour calculer le coût d'une demande à l'API GraphQL.
- Taille supposée
- Taille limite imposée par le serveur de back end au nombre de valeurs renvoyées sous forme de liste, pour chaque récupération distincte de la zone dans une demande d'API. Si une taille supposée a été définie pour cette zone dans le schéma GraphQL importé, sa valeur s'affiche. Vous pouvez entrer une valeur ou modifier la valeur en cours et la définition de schéma stockée dans API Connect est mise à jour en conséquence. Vous devez vous assurer que la valeur spécifiée correspond à l'implémentation ou à la configuration sur le serveur dorsal afin que API Connect puisse appliquer correctement la limitation de débit. La taille supposée est destinée à être configurée pour les zones qui renvoient des listes de valeurs, afin d'indiquer à l'analyse des coûts le nombre de valeurs attendues.
- Arguments de tranche
- Liste séparée par des virgules des arguments utilisés par le serveur de back end pour limiter le nombre de valeurs de cette zone qui sont renvoyées sous forme de liste, pour chaque récupération distincte de la zone dans une demande d'API. Ces valeurs doivent correspondre à l'implémentation ou la configuration sur le serveur de back end. Par exemple, il peut y avoir des arguments de tranche
firstetlastutilisés pour spécifier une gamme d'objets devant être renvoyés par une demande d'API. - Zones dimensionnées
- Il peut arriver qu'une zone comportant un paramètre Taille supposée ou Arguments de tranche configuré renvoie un objet, dont une zone renvoie les valeurs devant être dimensionnées. Cela est fréquent dans le modèle de pagination des connexions, où les champs avec les arguments de découpage
firstoulastrenvoient un objetconnections, qui contient la liste dimensionnée dans un champedges. L'option Zones dimensionnées permet à l'analyse de coût de tenir compte de ces relations indirectes entre les tailles supposées ou les arguments de tranche et la liste de valeurs dimensionnées. Fournissez une liste séparée par des virgules des noms de zones.
Vous pouvez accéder à l' éditeur de schémaGraphQL de l'une des manières suivantes:
Modifier un paramètre pour un type ou une zone unique
Dans le cas d'un paramètre numérique, cliquez sur ce paramètre en regard du type ou de la zone, puis entrez la valeur requise ou utilisez le bouton déroulant. Dans le cas d'un paramètre textuel, entrez directement la valeur. Vous pouvez d'abord filtrer l'affichage pour n'afficher qu'un sous-ensemble pertinent de types et de zones ; voir Filtrage de l'affichage.
Modifier les paramètres de plusieurs types et zones
Si vous souhaitez modifier les paramètres de plusieurs types et zones au cours d'une même opération, procédez comme suit :
Pour réinitialiser les paramètres de type ou de zone sur leur valeur par défaut après avoir appliqué une configuration d'analyse, cochez les cases en regard des types et zones concernés, puis cliquez sur Retirer la configuration d'analyse.
Vous pouvez d'abord filtrer l'affichage pour n'afficher qu'un sous-ensemble pertinent de types et de zones ; voir Filtrage de l'affichage.
Filtrer l'affichage
Pour afficher uniquement les types et zones qui comportent une chaîne spécifique, entrez la chaîne de filtrage requise dans la zone Rechercher un schéma et appuyez sur la touche Entrée.
Si un type correspond au filtre, le type et toutes ses zones sont affichés. Si une zone correspond au filtre, mais pas à son type parent, le type parent est affiché avec toutes les zones correspondantes. Vous pouvez entrer plusieurs chaînes de filtrage ; les éléments affichés sont ceux qui contiennent toutes les chaînes.
Vous pouvez désormais utiliser les opérations décrites dans Modification d'un paramètre pour un type ou une zone unique et dans Modification des paramètres pour plusieurs types et zones pour mettre à jour les paramètres des types et zones affichés.
Pour supprimer une chaîne de filtrage spécifique de la recherche, cliquez sur l'icône Fermer
pour cette chaîne de filtrage. Pour rétablir l'affichage complet du type et du champ en supprimant toutes les chaînes de filtrage, cliquez sur l'icône Clear (Effacer)
à la fin du champ de recherche.
Avertissements liés aux schémas GraphQL
Le cas échéant, API Connect recommande des mises à jour de la configuration d'analyse pour protéger le serveur dorsal contre une utilisation excessive des ressources et pour garantir une estimation correcte des coûts des demandes. Ces recommandations s'affichent sous forme d'avertissements dans l' éditeur de schémaGraphQL.

Pour voir les champs comportant des avertissements, développez le type; une icône d'avertissement
s'affiche à côté des champs comportant des avertissements. Pour voir les détails d'un avertissement pour un champ, cliquez sur l'icône d'avertissement
à côté du champ
Si vous cliquez sur Accepter sous un avertissement dans la fenêtre Avertissements, la mise à jour recommandée est appliquée automatiquement au schéma.
Pour appliquer les suggestions de mises à jour pour tous les avertissements en une seule opération, cliquez sur Appliquer tout dans la fenêtre Avertissements et cliquez une deuxième fois sur Appliquer pour confirmer votre choix.
Vous pouvez filtrer l'affichage pour n'inclure que les éléments comportant des avertissements; cliquez sur l'icône de menu
, puis sélectionnez Afficher uniquement les avertissements.
Application de directives @remove à des types et des zones dans le schéma GraphQL
La directive de schéma GraphQL @remove spécifie les conditions permettant de supprimer des éléments
de la validation ou de l'introspection pour chaque transaction en fonction de valeurs dans le contexte d'API. Par
exemple, vous pouvez empêcher des plans spécifiques d'utiliser certains types ou zones.
Pour plus de détails sur la directive @remove , y compris des exemples, voir rapic_graphql_extensions.html#reference_wrt_bk1_5mb__at_remove.
@remove à un élément dans votre schéma GraphQL, procédez
comme suit :Vous pouvez utiliser l'icône des paramètres
pour modifier ou supprimer les directives @remove précédemment appliquées. Pour
retirer une directive @remove conditionnelle, supprimez l'expression de la
zone Expression personnalisée. Pour supprimer une directive @remove
sans condition, placez le curseur de la règle Masquer dans le schéma sur Afficher dans
le schéma.
Afficher le schéma GraphQL
Pour afficher le schéma GraphQL JSON précédemment téléchargé, cliquez sur Afficher la source. Notez que le schéma inclut des instructions directive et des valeurs d'attribut, ajoutées par API Connect, qui reflètent les paramètres de configuration.
Remplacer le schéma GraphQL
Pour remplacer le schéma GraphQL, procédez comme suit :
- Cliquez sur Remplacer.
- Indiquez le schéma de remplacement :
- Pour remplacer le schéma par l'introspection d'une URL, procédez comme suit :
- Sélectionnez Introspect sur URL.
- Entrez l'adresse URL dans le champ URL du serveur GraphQL, puis cliquez sur Introspect.
Remarque : si vous remplacez le schéma d'un URL différent de celui spécifié comme serveur d'arrière-plan (backend) GraphQL, dans le champ URL du serveur GraphQL, lorsque l'API proxy d' GraphQL a été créée, le schéma lui-même est remplacé mais l' URL d'arrière-plan reste inchangé. Vous devez modifier en conséquence le paramètre URL sur la stratégieinvokedans l'assemblage d'API de votre API de proxy GraphQL. - Pour remplacer le schéma en téléchargeant un fichier, procédez comme suit :
- Sélectionnez Télécharger le fichier de langue de définition de schéma (SDL).
- Vous pouvez soit faire glisser et déposer le fichier, soit cliquer sur le lien pour sélectionner le fichier sur votre système de fichiers local.
Remarque :- Le schéma doit être écrit en langage de définition de schéma (SDL) GraphQL. Pour plus d'informations, voir Type language dans la documentation GraphQL à l'adresse suivante https://graphql.org/.
- Si vous téléchargez un schéma à partir d'un fichier local ayant déjà téléchargé un schéma à partir d'une URL, le paramètre d'URL du schéma qui est stocké dans la source OpenAPI pour l'API, puis affiché dans l'interface utilisateur, conserve la valeur d'URL spécifiée précédemment au lieu d'indiquer un emplacement de fichier.
- Pour remplacer le schéma par l'introspection d'une URL, procédez comme suit :
- Mettez à jour le schéma selon les besoins :
- Pour que tous les nouveaux types et zones soient affichés par défaut, sélectionnez Nouveau schéma pour
le paramètre Mettre à jour les valeurs par défaut du schéma en donnant la préférence à. Vous pouvez ensuite choisir
de masquer des éléments spécifiques en sélectionnant Masquer dans la colonne Action
en regard d'un élément. Le masquage d'un élément entraîne l'ajout d'une directive
@removeà l'élément dans la source de schéma, comme indiqué dans la rubrique Application des directives @remove aux types et aux zones du schéma GraphQL. - Pour que tous les nouveaux types et zones soient masqués par défaut, sélectionnez Ancien schéma pour le paramètre Mettre à jour les valeurs par défaut du schéma en donnant la préférence à. Vous pouvez ensuite choisir d'afficher des éléments spécifiques en sélectionnant Afficher dans la colonne Action en regard d'un élément.
Remarque: Si le schéma en cours contient des éléments qui ne figurent pas dans le schéma de remplacement, ces éléments sont supprimés. Ces suppressions figurent dans la liste des modifications avec le paramètre Accept affiché dans la colonne Action ; vous ne pouvez pas modifier ce paramètre. - Pour que tous les nouveaux types et zones soient affichés par défaut, sélectionnez Nouveau schéma pour
le paramètre Mettre à jour les valeurs par défaut du schéma en donnant la préférence à. Vous pouvez ensuite choisir
de masquer des éléments spécifiques en sélectionnant Masquer dans la colonne Action
en regard d'un élément. Le masquage d'un élément entraîne l'ajout d'une directive
- Cliquez sur Suivant. Un récapitulatif des modifications s'affiche. Si aucun retrait n'est autorisé, une explication s'affiche et vous ne pouvez pas procéder au remplacement de schéma ; cliquez sur Annuler pour fermer la fenêtre ou sur Précédent et modifiez vos paramètres.
- Cliquez sur Soumettre une fois le remplacement de schéma effectué.
Télécharger le schéma GraphQL
Pour télécharger le schéma vers un fichier local, cliquez sur Télécharger. Notez que le schéma téléchargé inclut tous les paramètres supplémentaires qui reflètent les mises à jour de votre configuration.