Esempi di CloudWatch Synthetics con la AWS CLI
Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con CloudWatch Synthetics.
Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Operazioni
L’esempio di codice seguente mostra come utilizzare associate-resource.
- AWS CLI
-
Come associare un canary a un gruppo
L’esempio
associate-resourceseguente associa un canary a un gruppo denominatodemo_group.aws synthetics associate-resource \ --group-identifierdemo_group\ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canaryQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta AssociateResource
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare create-canary.
- AWS CLI
-
Come creare un Canary
L’esempio
create-canaryseguente crea un canary denominatodemo_canary.aws synthetics create-canary \ --namedemo_canary\ --code '{"S3Bucket": "artifacts3bucket", "S3Key":"demo_canary.zip", "Handler": "index.lambda_handler"}' \ --artifact-s3-locations3://amzn-s3-demo-bucket/demo_canary.zip\ --execution-role-arnarn:aws:iam::123456789012:role/demo_canary_role\ --schedule Expression="rate(10 minutes)" \ --runtime-versionsyn-nodejs-puppeteer-9.1Output:
{ "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": {} } }Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta CreateCanary
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare create-group.
- AWS CLI
-
Creazione di un gruppo
L’esempio
create-groupseguente elimina un gruppo denominatodemo_group.aws synthetics create-group \ --namedemo_groupOutput:
{ "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" } }Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull'API, consulta CreateGroup
nella Documentazione di riferimento dei comandi della AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare delete-canary.
- AWS CLI
-
Come eliminare definitivamente un canary
L’esempio
delete-canaryseguente elimina un canary denominatodemo_canary.aws synthetics delete-canary \ --namedemo_canaryQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta DeleteCanary
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-group.
- AWS CLI
-
Come eliminare un gruppo
L’esempio
delete-groupseguente elimina un gruppo denominatodemo_group.aws synthetics delete-group \ --group-identifierdemo_groupQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull'API, consulta DeleteGroup
nella Documentazione di riferimento dei comandi della AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare describe-canaries-last-run.
- AWS CLI
-
Come visualizzare le informazioni relative all’esecuzione più recente di ogni canary
L’esempio
describe-canaries-last-runseguente restituisce l’esecuzione più recente di ogni canary creato.aws synthetics describe-canaries-last-runOutput:
{ "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" } } ] }Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta DescribeCanariesLastRun
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-canaries.
- AWS CLI
-
Come elencare i canary nel tuo account
L’esempio
describe-canariesseguente elenca i dettagli dei canary nell’account in uso.aws synthetics describe-canariesOutput:
{ "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" } } ] }Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta DescribeCanaries
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-runtime-versions.
- AWS CLI
-
Come restituire un elenco di versioni di runtime dei canary di Synthetics
L’esempio
describe-runtime-versionsseguente restituisce l’elenco delle versioni di runtime dei canary di Synthetics.aws synthetics describe-runtime-versionsOutput:
{ "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" } ] }Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta DescribeRuntimeVersions
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare disassociate-resource.
- AWS CLI
-
Come rimuovere un canary da un gruppo
L’esempio
disassociate-resourceseguente rimuove un canary da un gruppo denominatodemo_group.aws synthetics disassociate-resource \ --group-identifierdemo_group\ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canaryQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta DisassociateResource
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-canary-runs.
- AWS CLI
-
Come recuperare un elenco di esecuzioni per un canary specificato
L’esempio
get-canary-runsseguente recupera un elenco di esecuzioni per il canary denominatodemo_canary.aws synthetics get-canary-runs \ --namedemo_canaryOutput:
{ "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" } ] }Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta GetCanaryRuns
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-canary.
- AWS CLI
-
Come restituire informazioni complete su un canary
L’esempio
get-canaryseguente recupera le informazioni complete sul canary denominatodemo_canary.aws synthetics get-canary \ --namedemo_canaryOutput:
{ "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" } } }Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta GetCanary
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-group.
- AWS CLI
-
Come restituire informazioni su un gruppo
L’esempio
get-groupseguente restituisce informazioni sul gruppo denominatodemo_group.aws synthetics get-group \ --group-identifierdemo_groupOutput:
{ "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" } }Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per i dettagli dell'API, consulta GetGroup
in Riferimento ai comandi della AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare list-associated-groups.
- AWS CLI
-
Come recuperare un elenco di gruppi
L’esempio
list-associated-groupsseguente restituisce un elenco dei gruppi associati al canary denominatodemo_canary.aws synthetics list-associated-groups \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canaryOutput:
{ "Groups": [ { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123" } ] }Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta ListAssociatedGroups
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-group-resources.
- AWS CLI
-
Come restituire un elenco degli ARN dei canary associati al gruppo specificato
L’esempio
list-group-resourcesseguente restituisce un elenco degli ARN dei canary associati al gruppo denominatodemo_group.aws synthetics list-group-resources \ --group-identifierdemo_groupOutput:
{ "Resources": [ "arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary" ] }Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta ListGroupResources
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-groups.
- AWS CLI
-
Come restituire un elenco di tutti i gruppi dell’account
L’esempio
list-groupsseguente recupera un elenco di tutti i gruppi nell’account.aws synthetics list-groupsOutput:
{ "Groups": [ { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123" } ] }Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull'API, consulta ListGroups
nella Documentazione di riferimento dei comandi della AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare list-tags-for-resource.
- AWS CLI
-
Esempio 1: per visualizzare i tag associati a un canary
L’esempio
list-tags-for-resourceseguente restituisce i tag associati a un canary denominatodemo_canary.aws synthetics list-tags-for-resource \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canaryOutput:
{ "Tags": { "blueprint": "heartbeat" } }Esempio 2: per visualizzare i tag associati a un gruppo
L’esempio
list-tags-for-resourceseguente restituisce i tag associati a un gruppo denominatodemo_group.aws synthetics list-tags-for-resource \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:group:example123Output:
{ "Tags": { "team": "Devops" } }Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull'API, consulta ListTagsForResource
nella Documentazione di riferimento dei comandi della AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare start-canary.
- AWS CLI
-
Come eseguire un canary
L’esempio
start-canaryseguente esegue un canary denominatodemo_canary.aws synthetics start-canary \ --namedemo_canaryQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta StartCanary
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare stop-canary.
- AWS CLI
-
Come arrestare un canary
L’esempio
stop-canaryseguente arresta il canary denominatodemo_canary.aws synthetics stop-canary \ --namedemo_canaryQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta StopCanary
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare tag-resource.
- AWS CLI
-
Esempio 1: per assegnare un tag al canary
L’esempio
tag-resourceseguente assegna un tag al canary denominatodemo_canary.aws synthetics tag-resource \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canary\ --tagsblueprint=heartbeatQuesto comando non produce alcun output.
Esempio 2: per assegnare un tag al gruppo
L’esempio
tag-resourceseguente assegna un tag al gruppo denominatodemo_group.aws synthetics tag-resource \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:group:example123\ --tagsteam=DevopsQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sulle API, consulta TagResource
nel Riferimento ai comandi AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare untag-resource.
- AWS CLI
-
Esempio 1: per rimuovere un tag dal canary
L’esempio
untag-resourceseguente rimuove un tag dal canary denominatodemo_canary.aws synthetics untag-resource \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canary\ --tag-keysblueprintQuesto comando non produce alcun output.
Esempio 2: per rimuovere un tag dal gruppo
L’esempio
untag-resourceseguente rimuove un tag dal gruppo denominatodemo_group.aws synthetics untag-resource \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:group:example123\ --tag-keysteamQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per i dettagli dell'API, consulta UntagResource
in Riferimento ai comandi della AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare update-canary.
- AWS CLI
-
Come aggiornare un canary
L’esempio
update-canaryseguente aggiorna la configurazione di un canary denominatodemo_canary.aws synthetics update-canary \ --namedemo_canary\ --schedule Expression="rate(15 minutes)"Questo comando non produce alcun output.
Per ulteriori informazioni, consulta Monitoraggio sintetico (canary) nella Guida per l’utente di Amazon CloudWatch.
-
Per informazioni dettagliate sull’API, consulta UpdateCanary
in AWS CLI Command Reference.
-