Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation AWS X-Ray pour suivre les demandes dans AWS AppSync
Vous pouvez l'utiliser AWS X-Ray pour suivre les demandes au fur et à mesure qu'elles sont exécutées dans AWS AppSync. Vous pouvez l'utiliser X-Ray AWS AppSync dans toutes les AWS régions où X-Ray c'est disponible. X-Ray vous donne un aperçu détaillé de l'ensemble d'une requête GraphQL. Cela vous permet d'analyser les latences dans vos API et leurs résolveurs et sources de données sous-jacents. Vous pouvez utiliser une carte des X-Ray services pour visualiser la latence d'une demande, y compris les AWS services qui y sont intégrés X-Ray. Vous pouvez également configurer des règles d'échantillonnage pour indiquer X-Ray quelles demandes enregistrer et à quelles fréquences d'échantillonnage, en fonction des critères que vous spécifiez.
Pour plus d'informations sur l'échantillonnage dans X-Ray, voir Configuration des règles d'échantillonnage dans la AWS X-Ray console.
Installation et configuration
Vous pouvez activer le X-Ray traçage pour une API GraphQL via la AWS AppSync console.
-
Connectez-vous à la AWS AppSync console.
-
Choisissez Paramètres dans le volet de navigation.
-
Sous X-Ray, activez Activer X-Ray.
-
Choisissez Enregistrer. X-Ray le traçage est désormais activé pour votre API.
Si vous utilisez le AWS CLI ou AWS CloudFormation, vous pouvez également activer le X-Ray suivi lorsque vous créez une nouvelle AWS AppSync API ou que vous mettez à jour une AWS AppSync API existante en définissant la xrayEnabled propriété surtrue.
Lorsque le X-Ray traçage est activé pour une AWS AppSync API, un rôle Gestion des identités et des accès AWS lié à un service est automatiquement créé dans votre compte avec les autorisations appropriées. Cela permet AWS AppSync d'envoyer des traces de X-Ray manière sécurisée.
Suivi de votre API avec X-Ray
Echantillonnage
En utilisant les règles d'échantillonnage, vous pouvez contrôler la quantité de données que vous enregistrez dans AWS AppSync, mais aussi modifier le comportement d'échantillonnage à la volée sans modifier ni redéployer votre code. Par exemple, cette règle échantillonne les demandes à l'API GraphQL avec l'ID d'API 3n572shhcpfokwhdnq1ogu59v6.
-
Rule name (Nom de règle) :
test-sample -
Priority (Priorité) :
10 -
Reservoir size (Taille du réservoir) :
10 -
Fixed rate (Fréquence fixe) :
10 -
Service name (Nom du service) :
* -
Service type (Type de service) :
AWS::AppSync::GraphQLAPI -
HTTP method (Méthode HTTP) :
* -
Resource ARN (ARN des ressources) :
arn:aws:appsync:us-west-2:123456789012:apis/3n572shhcpfokwhdnq1ogu59v6 -
Host (Hôte)
*
Présentation des suivis
Lorsque vous activez le X-Ray suivi pour votre API GraphQL, vous pouvez utiliser la page détaillée du X-Ray suivi pour examiner les informations de latence détaillées relatives aux requêtes adressées à votre API. L'exemple suivant montre la vue du suivi ainsi que la carte des services pour cette demande spécifique. La demande a été adressée à une API appelée postAPI avec un type Post, dont les données sont contenues dans une table Amazon DynamoDB appelée. PostTable-Example
L'image de suivi suivante correspond à la requête GraphQL suivante :
query getPost { getPost(id: "1") { id title } }
Le résolveur de la getPost requête utilise la source de données DynamoDB sous-jacente. La vue de trace suivante montre l'appel à DynamoDB, ainsi que les latences des différentes étapes de l'exécution de la requête :
-
Dans l'image précédente,
/getPostreprésente le chemin d'accès complet à l'élément en cours de résolution. Dans ce cas,getPostétant un champ sur le typeQueryracine, il apparaît directement après la racine du chemin d’accès. -
requestMappingTemplateEvaluationreprésente le temps passé par AWS AppSync à évaluer le modèle de mappage de demande pour cet élément dans la requête. -
Query.getPostreprésente un type et un champ (au formatType.field). Il peut contenir plusieurs sous-segments, en fonction de la structure de l'API et de la demande en cours de suivi.-
DynamoDBreprésente la source de données attachée à ce résolveur. Il contient la latence nécessaire à l'appel réseau à DynamoDB pour résoudre le champ. -
responseMappingTemplateEvaluationreprésente le temps passé par AWS AppSync à évaluer le modèle de mappage de réponse pour cet élément dans la requête.
-
Lorsque vous visualisez les traces dans X-Ray, vous pouvez obtenir des informations contextuelles et de métadonnées supplémentaires sur les sous-segments du AWS AppSync segment en choisissant les sous-segments et en explorant la vue détaillée.
Pour certaines requêtes profondément imbriquées ou complexes, notez que le segment envoyé à X-Ray by AWS AppSync peut être plus grand que la taille maximale autorisée pour les documents de segment, telle que définie dans Documents de AWS X-Ray segment. X-Ray n'affiche pas les segments qui dépassent la limite.