Exemples d’utilisation de l’AWS CLI avec CloudWatch Synthetics - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec CloudWatch Synthetics

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec CloudWatch Synthetics.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser associate-resource.

AWS CLI

Pour associer un canary à un groupe

L’exemple associate-resource suivant associe un canary à un groupe nommé demo_group.

aws synthetics associate-resource \ --group-identifier demo_group \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez AssociateResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-canary.

AWS CLI

Pour créer un script Canary

L’exemple create-canary suivant crée un canary nommé demo_canary.

aws synthetics create-canary \ --name demo_canary \ --code '{"S3Bucket": "artifacts3bucket", "S3Key":"demo_canary.zip", "Handler": "index.lambda_handler"}' \ --artifact-s3-location s3://amzn-s3-demo-bucket/demo_canary.zip \ --execution-role-arn arn:aws:iam::123456789012:role/demo_canary_role \ --schedule Expression="rate(10 minutes)" \ --runtime-version syn-nodejs-puppeteer-9.1

Sortie :

{ "Canary": { "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Name": "demo_canary", "Code": { "Handler": "index.lambda_handler" }, "ExecutionRoleArn": "arn:aws:iam::123456789012:role/demo_canary_role", "Schedule": { "Expression": "rate(10 minutes)", "DurationInSeconds": 0 }, "RunConfig": { "TimeoutInSeconds": 600, "MemoryInMB": 1000, "ActiveTracing": false }, "SuccessRetentionPeriodInDays": 31, "FailureRetentionPeriodInDays": 31, "Status": { "State": "CREATING", "StateReasonCode": "CREATE_PENDING" }, "Timeline": { "Created": "2024-10-15T19:03:08.826000+05:30", "LastModified": "2024-10-15T19:03:08.826000+05:30" }, "ArtifactS3Location": "amzn-s3-demo-bucket/demo_canary.zip", "RuntimeVersion": "syn-nodejs-puppeteer-9.1", "Tags": {} } }

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez CreateCanary dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-group.

AWS CLI

Pour créer un groupe

L’exemple create-group suivant crée un groupe nommé demo_group.

aws synthetics create-group \ --name demo_group

Sortie :

{ "Group": { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123", "Tags": {}, "CreatedTime": "2024-10-15T14:47:23.811000+05:30", "LastModifiedTime": "2024-10-15T14:47:23.811000+05:30" } }

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez CreateGroup dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-canary.

AWS CLI

Pour supprimer définitivement un canary

L’exemple delete-canary suivant supprime un canary nommé demo_canary.

aws synthetics delete-canary \ --name demo_canary

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez DeleteCanary dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-group.

AWS CLI

Pour supprimer un groupe

L’exemple delete-group suivant supprime un groupe nommé demo_group.

aws synthetics delete-group \ --group-identifier demo_group

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez DeleteGroup dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-canaries-last-run.

AWS CLI

Pour consulter les informations relatives à la dernière exécution de chaque canary

L’exemple describe-canaries-last-run suivant renvoie la dernière exécution de chaque canary que vous avez créé.

aws synthetics describe-canaries-last-run

Sortie :

{ "CanariesLastRun": [ { "CanaryName": "demo_canary", "LastRun": { "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Name": "demo_canary", "Status": { "State": "PASSED", "StateReason": "", "StateReasonCode": "" }, "Timeline": { "Started": "2024-10-15T19:20:39.691000+05:30", "Completed": "2024-10-15T19:20:58.211000+05:30" }, "ArtifactS3Location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/demo_canary-abc-example1234/2024/10/15/13/50-39-690" } } ] }

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez DescribeCanariesLastRun dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-canaries.

AWS CLI

Pour répertorier les scripts Canary de votre compte

L’exemple describe-canaries suivant répertorie les informations sur les scripts Canary de votre compte.

aws synthetics describe-canaries

Sortie :

{ "Canaries": [ { "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Name": "demo_canary", "Code": { "SourceLocationArn": "arn:aws:lambda:us-east-1:123456789012:layer:cwsyn-demo_canary-a1b2c3d4-5678-90ab-cdef-example11111b8:1", "Handler": "pageLoadBlueprint.handler" }, "ExecutionRoleArn": "arn:aws:iam::123456789012:role/service-role/CloudWatchSyntheticsRole-demo_canary-a12-a123bc456789", "Schedule": { "Expression": "rate(5 minutes)", "DurationInSeconds": 0 }, "RunConfig": { "TimeoutInSeconds": 300, "MemoryInMB": 1000, "ActiveTracing": false }, "SuccessRetentionPeriodInDays": 31, "FailureRetentionPeriodInDays": 31, "Status": { "State": "RUNNING" }, "Timeline": { "Created": "2024-10-15T18:55:15.168000+05:30", "LastModified": "2024-10-15T18:55:40.540000+05:30", "LastStarted": "2024-10-15T18:55:40.540000+05:30" }, "ArtifactS3Location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/demo_canary-a12-a123bc456789", "EngineArn": "arn:aws:lambda:us-east-1:123456789012:function:cwsyn-demo_canary-a1b2c3d4-5678-90ab-cdef-example111118:1", "RuntimeVersion": "syn-nodejs-puppeteer-9.1", "Tags": { "blueprint": "heartbeat" } } ] }

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez DescribeCanaries dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-runtime-versions.

AWS CLI

Pour renvoyer la liste des versions d’exécution des scripts Canary Synthetics

L’exemple describe-runtime-versions suivant renvoie la liste des versions d’exécution des scripts Canary Synthetics.

aws synthetics describe-runtime-versions

Sortie :

{ "RuntimeVersions": [ { "VersionName": "syn-nodejs-puppeteer-9.1", "Description": "Security fixes and bug fix for date range error in har. Dependencies: Node JS 20.x, Puppeteer-core 22.12.1, Chromium 126.0.6478.126", "ReleaseDate": "2024-10-02T05:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-9.0", "Description": "Upgraded Chromium and Puppeteer. Dependencies: Node JS 20.x, Puppeteer-core 22.12.1, Chromium 126.0.6478.126", "ReleaseDate": "2024-07-22T05:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-8.0", "Description": "Upgraded Chromium and Puppeteer. Dependencies: Node JS 20.x, Puppeteer-core 22.10.0, Chromium 125.0.6422.112", "ReleaseDate": "2024-06-21T05:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-7.0", "Description": "Upgraded Chromium and Puppeteer. Dependencies: Node JS 18.x, Puppeteer-core 21.9.0, Chromium 121.0.6167.139", "ReleaseDate": "2024-03-08T05:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-6.2", "Description": "Updated shared libraries for Chromium and added ephemeral storage monitoring. Dependencies: Node JS 18.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", "ReleaseDate": "2024-02-02T05:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-6.1", "Description": "Added puppeteer launch retry. Dependencies: Node JS 18.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", "ReleaseDate": "2023-11-13T05:30:00+05:30", "DeprecationDate": "2024-03-08T13:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-6.0", "Description": "Reduced X-Ray traces of a canary run, improved duration metric and upgraded to NodeJS 18.x. Dependencies: Node JS 18.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", "ReleaseDate": "2023-09-15T05:30:00+05:30", "DeprecationDate": "2024-03-08T13:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-5.2", "Description": "Updated shared libraries for Chromium. Dependencies: Node JS 16.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", "ReleaseDate": "2024-02-01T05:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-5.1", "Description": "Fixes a bug about missing request headers in har. Dependencies: Node JS 16.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", "ReleaseDate": "2023-08-09T05:30:00+05:30", "DeprecationDate": "2024-03-08T13:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-5.0", "Description": "Upgraded Puppeteer and Chromium. Dependencies: Node JS 16.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", "ReleaseDate": "2023-07-21T05:30:00+05:30", "DeprecationDate": "2024-03-08T13:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-4.0", "Description": "Upgraded to NodeJS 16.x. Dependencies: Node JS 16.x, Puppeteer-core 5.5.0, Chromium 92.0.4512.0", "ReleaseDate": "2023-05-01T05:30:00+05:30", "DeprecationDate": "2024-03-08T13:30:00+05:30" } ] }

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez DescribeRuntimeVersions dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser disassociate-resource.

AWS CLI

Pour supprimer un canary d’un groupe

L’exemple disassociate-resource suivant supprime un canary du groupe nommé demo_group.

aws synthetics disassociate-resource \ --group-identifier demo_group \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez DisassociateResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-canary-runs.

AWS CLI

Pour récupérer la liste des exécutions d’un canary spécifié

L’exemple get-canary-runs suivant récupère la liste des exécutions du canary nommé demo_canary.

aws synthetics get-canary-runs \ --name demo_canary

Sortie :

{ "CanaryRuns": [ { "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Name": "demo_canary", "Status": { "State": "PASSED", "StateReason": "", "StateReasonCode": "" }, "Timeline": { "Started": "2024-10-16T10:38:57.013000+05:30", "Completed": "2024-10-16T10:39:25.793000+05:30" }, "ArtifactS3Location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/demo_canary-abc-example1234/2024/10/15/13/50-39-690" } ] }

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez GetCanaryRuns dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-canary.

AWS CLI

Pour récupérer les informations complètes sur un canary

L’exemple get-canary suivant récupère les informations complètes sur le canary nommé demo_canary.

aws synthetics get-canary \ --name demo_canary

Sortie :

{ "Canary": { "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Name": "demo_canary", "Code": { "SourceLocationArn": "arn:aws:lambda:us-east-1:123456789012:layer:cwsyn-demo_canary-a1b2c3d4-5678-90ab-cdef-example111118:1", "Handler": "pageLoadBlueprint.handler" }, "ExecutionRoleArn": "arn:aws:iam::123456789012:role/demo_canary_role", "Schedule": { "Expression": "rate(10 minutes)", "DurationInSeconds": 0 }, "RunConfig": { "TimeoutInSeconds": 300, "MemoryInMB": 1000, "ActiveTracing": false }, "SuccessRetentionPeriodInDays": 31, "FailureRetentionPeriodInDays": 31, "Status": { "State": "RUNNING" }, "Timeline": { "Created": "2024-10-15T18:55:15.168000+05:30", "LastModified": "2024-10-15T18:55:40.540000+05:30", "LastStarted": "2024-10-15T18:55:40.540000+05:30" }, "ArtifactS3Location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/demo_canary-a12-a123bc456789", "EngineArn": "arn:aws:lambda:us-east-1:123456789012:function:cwsyn-demo_canary-a1b2c3d4-5678-90ab-cdef-example111118:1", "RuntimeVersion": "syn-nodejs-puppeteer-9.1", "Tags": { "blueprint": "heartbeat" } } }

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez GetCanary dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-group.

AWS CLI

Pour renvoyer les informations sur un groupe

L’exemple get-group suivant renvoie les informations sur le groupe nommé demo_group.

aws synthetics get-group \ --group-identifier demo_group

Sortie :

{ "Group": { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123", "Tags": {}, "CreatedTime": "2024-10-15T14:47:23.811000+05:30", "LastModifiedTime": "2024-10-15T14:47:23.811000+05:30" } }

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez GetGroup dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-associated-groups.

AWS CLI

Pour renvoyer la liste des groupes

L’exemple list-associated-groups suivant renvoie la liste des groupes associés au canary nommé demo_canary.

aws synthetics list-associated-groups \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary

Sortie :

{ "Groups": [ { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123" } ] }

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez ListAssociatedGroups dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-group-resources.

AWS CLI

Pour renvoyer la liste des ARN des scripts Canary associés au groupe spécifié

L’exemple list-group-resources suivant renvoie la liste des ARN des scripts Canary associés au groupe nommé demo_group.

aws synthetics list-group-resources \ --group-identifier demo_group

Sortie :

{ "Resources": [ "arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary" ] }

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez ListGroupResources dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-groups.

AWS CLI

Pour renvoyer la liste de tous les groupes du compte

L’exemple list-groups suivant renvoie la liste de tous les groupes du compte.

aws synthetics list-groups

Sortie :

{ "Groups": [ { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123" } ] }

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez ListGroups dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-tags-for-resource.

AWS CLI

Exemple 1 : pour afficher les balises associées à un canary

L’exemple list-tags-for-resource suivant renvoie les balises associées à un canary nommé demo_canary.

aws synthetics list-tags-for-resource \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary

Sortie :

{ "Tags": { "blueprint": "heartbeat" } }

Exemple 2 : pour afficher les balises associés à un groupe

L’exemple list-tags-for-resource suivant renvoie les balises associées à un groupe nommé demo_group.

aws synthetics list-tags-for-resource \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:group:example123

Sortie :

{ "Tags": { "team": "Devops" } }

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez ListTagsForResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser start-canary.

AWS CLI

Pour exécuter un canary

L’exemple start-canary suivant exécute un canary nommé demo_canary.

aws synthetics start-canary \ --name demo_canary

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez StartCanary dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser stop-canary.

AWS CLI

Pour arrêter un canary

L’exemple stop-canary suivant arrête le canary nommé demo_canary.

aws synthetics stop-canary \ --name demo_canary

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez StopCanary dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser tag-resource.

AWS CLI

Exemple 1 : pour attribuer une balise au canary

L’exemple tag-resource suivant attribue une balise au canary nommé demo_canary.

aws synthetics tag-resource \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary \ --tags blueprint=heartbeat

Cette commande ne produit aucune sortie.

Exemple 2 : pour attribuer une balise au groupe

L’exemple tag-resource suivant attribue une balise au groupe nommé demo_group.

aws synthetics tag-resource \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:group:example123 \ --tags team=Devops

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez TagResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser untag-resource.

AWS CLI

Exemple 1 : pour supprimer une balise du canary

L’exemple untag-resource suivant supprime une balise du canary nommé demo_canary.

aws synthetics untag-resource \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary \ --tag-keys blueprint

Cette commande ne produit aucune sortie.

Exemple 2 : pour supprimer une balise du groupe

L’exemple untag-resource suivant supprime une balise du groupe nommé demo_group.

aws synthetics untag-resource \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:group:example123 \ --tag-keys team

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez UntagResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-canary.

AWS CLI

Pour mettre à jour un canary

L’exemple update-canary suivant met à jour la configuration d’un canary nommé demo_canary.

aws synthetics update-canary \ --name demo_canary \ --schedule Expression="rate(15 minutes)"

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Surveillance Synthetics (scripts Canary) dans le Guide de l’utilisateur Amazon CloudWatch.

  • Pour plus de détails sur l’API, consultez UpdateCanary dans la Référence des commandes de l’AWS CLI.