En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes mediante la AWS Command Line Interface con CloudWatch Synthetics.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar associate-resource
.
- AWS CLI
-
Asociación de un canario a un grupo
En el siguiente ejemplo de
associate-resource
, se asocia un canario a un grupo denominadodemo_group
.aws synthetics associate-resource \ --group-identifier
demo_group
\ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canary
Este comando no genera ninguna salida.
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte AssociateResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-canary
.
- AWS CLI
-
Creación de un canario
En el siguiente ejemplo de
create-canary
, se crea un canario denominadodemo_canary
.aws synthetics create-canary \ --name
demo_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.1
Salida:
{ "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": {} } }
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte CreateCanary
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-group
.
- AWS CLI
-
Creación de un grupo
En el siguiente ejemplo de
create-group
, se crea un grupo llamadodemo_group
.aws synthetics create-group \ --name
demo_group
Salida:
{ "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" } }
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte CreateGroup
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-canary
.
- AWS CLI
-
Eliminación permanente de un canario
En el siguiente ejemplo de
delete-canary
, se elimina un canario denominadodemo_canary
.aws synthetics delete-canary \ --name
demo_canary
Este comando no genera ninguna salida.
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte DeleteCanary
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-group
.
- AWS CLI
-
Para eliminar un grupo
En el siguiente ejemplo de
delete-group
, se elimina un grupo denominadodemo_group
.aws synthetics delete-group \ --group-identifier
demo_group
Este comando no genera ninguna salida.
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte DeleteGroup
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-canaries-last-run
.
- AWS CLI
-
Visualización de la información de la ejecución más reciente de cada canario
En el siguiente ejemplo de
describe-canaries-last-run
, se devuelve la ejecución más reciente de cada canario que haya creado.aws synthetics describe-canaries-last-run
Salida:
{ "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" } } ] }
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte DescribeCanariesLastRun
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-canaries
.
- AWS CLI
-
Inclusión de los canarios en la cuenta
En el siguiente ejemplo de
describe-canaries
, se muestran los detalles de los canarios de la cuenta.aws synthetics describe-canaries
Salida:
{ "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" } } ] }
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte DescribeCanaries
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-runtime-versions
.
- AWS CLI
-
Devolución de una lista de las versiones de tiempo de ejecución de canario de Synthetics
En el siguiente ejemplo de
describe-runtime-versions
, se devuelve la lista de versiones de tiempo de ejecución de canario de Synthetics.aws synthetics describe-runtime-versions
Salida:
{ "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" } ] }
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener detalles sobre la API, consulte DescribeRuntimeVersions
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar disassociate-resource
.
- AWS CLI
-
Eliminación de un canario de un grupo
En el ejemplo siguiente de
disassociate-resource
se elimina un canario del grupo denominadodemo_group
.aws synthetics disassociate-resource \ --group-identifier
demo_group
\ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canary
Este comando no genera ninguna salida.
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte DisassociateResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-canary-runs
.
- AWS CLI
-
Recuperación de una lista de ejecuciones de un canario específico
En el siguiente ejemplo de
get-canary-runs
, se devuelve una lista de las ejecuciones del canario denominadodemo_canary
.aws synthetics get-canary-runs \ --name
demo_canary
Salida:
{ "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" } ] }
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte GetCanaryRuns
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-canary
.
- AWS CLI
-
Recuperación de la información completa sobre un canario
En el siguiente ejemplo de
get-canary
, se recupera información completa sobre un canario denominadodemo_canary
.aws synthetics get-canary \ --name
demo_canary
Salida:
{ "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" } } }
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener detalles sobre la API, consulte GetCanary
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-group
.
- AWS CLI
-
Devolución de información sobre un grupo
En el siguiente ejemplo de
get-group
, se devuelve información sobre el grupo denominadodemo_group
.aws synthetics get-group \ --group-identifier
demo_group
Salida:
{ "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" } }
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte GetGroup
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-associated-groups
.
- AWS CLI
-
Devolución de una lista de los grupos
En el siguiente ejemplo de
list-associated-groups
, se devuelve una lista de los grupos asociados al canario denominadodemo_canary
.aws synthetics list-associated-groups \ --resource-arn
arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary
Salida:
{ "Groups": [ { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123" } ] }
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte ListAssociatedGroups
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-group-resources
.
- AWS CLI
-
Devolución de una lista de los ARN de los canarios que están asociados al grupo especificado
En el siguiente ejemplo de
list-group-resources
, se devuelve una lista de los ARN de los canarios asociados al grupo denominadodemo_group
.aws synthetics list-group-resources \ --group-identifier
demo_group
Salida:
{ "Resources": [ "arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary" ] }
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte ListGroupResources
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-groups
.
- AWS CLI
-
Devolución de una lista de todos los grupos de la cuenta
En el siguiente ejemplo de
list-groups
, se devuelve una lista de todos los grupos en la cuenta.aws synthetics list-groups
Salida:
{ "Groups": [ { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123" } ] }
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte ListGroups
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-tags-for-resource
.
- AWS CLI
-
Ejemplo 1: muestra de las etiquetas asociadas a un canario
En el siguiente ejemplo de
list-tags-for-resource
, se devuelven las etiquetas asociadas a un canario denominadodemo_canary
.aws synthetics list-tags-for-resource \ --resource-arn
arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary
Salida:
{ "Tags": { "blueprint": "heartbeat" } }
Ejemplo 2: muestra de las etiquetas asociadas a un grupo
En el siguiente ejemplo de
list-tags-for-resource
, se devuelven las etiquetas asociadas a un grupo denominadodemo_group
.aws synthetics list-tags-for-resource \ --resource-arn
arn:aws:synthetics:us-east-1:123456789012:group:example123
Salida:
{ "Tags": { "team": "Devops" } }
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para ver los detalles de la API, consulte ListTagsForResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar start-canary
.
- AWS CLI
-
Ejecución de un canario
En el siguiente ejemplo de
start-canary
, se ejecuta un canario denominadodemo_canary
.aws synthetics start-canary \ --name
demo_canary
Este comando no genera ninguna salida.
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte StartCanary
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar stop-canary
.
- AWS CLI
-
Detención de un canario
En el siguiente ejemplo de
stop-canary
, se detiene el canario denominadodemo_canary
.aws synthetics stop-canary \ --name
demo_canary
Este comando no genera ninguna salida.
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte StopCanary
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar tag-resource
.
- AWS CLI
-
Ejemplo 1: asignación de una etiqueta al canario
En el siguiente ejemplo de
tag-resource
, se asigna una etiqueta al canario denominadodemo_canary
.aws synthetics tag-resource \ --resource-arn
arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary
\ --tagsblueprint=heartbeat
Este comando no genera ninguna salida.
Ejemplo 2: asignación de una etiqueta al grupo
En el siguiente ejemplo de
tag-resource
, se asigna una etiqueta al grupo denominadodemo_group
.aws synthetics tag-resource \ --resource-arn
arn:aws:synthetics:us-east-1:123456789012:group:example123
\ --tagsteam=Devops
Este comando no genera ninguna salida.
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para ver los detalles de la API, consulte TagResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar untag-resource
.
- AWS CLI
-
Ejemplo 1: eliminación de una etiqueta del canario
En el siguiente ejemplo de
untag-resource
, se elimina una etiqueta del canario denominadodemo_canary
.aws synthetics untag-resource \ --resource-arn
arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary
\ --tag-keysblueprint
Este comando no genera ninguna salida.
Ejemplo 2: eliminación de una etiqueta del grupo
En el siguiente ejemplo de
untag-resource
, se asigna la eliminación de una etiqueta del grupo denominadodemo_group
.aws synthetics untag-resource \ --resource-arn
arn:aws:synthetics:us-east-1:123456789012:group:example123
\ --tag-keysteam
Este comando no genera ninguna salida.
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para ver los detalles de la API, consulte UntagResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-canary
.
- AWS CLI
-
Actualización de un canario
En el siguiente ejemplo de
update-canary
, se actualiza la configuración de un canario denominadodemo_canary
.aws synthetics update-canary \ --name
demo_canary
\ --schedule Expression="rate(15 minutes)"Este comando no genera ninguna salida.
Para obtener más información, consulte Synthetic Monitoring (valores controlados) en la Guía del usuario de Amazon CloudWatch.
-
Para obtener información sobre la API, consulte UpdateCanary
en la Referencia de comandos de la AWS CLI.
-