本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 的 CloudWatch Synthetics 範例 AWS CLI
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 CloudWatch Synthetics 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
以下程式碼範例顯示如何使用 associate-resource。
- AWS CLI
- 
             
                    將 Canary 與群組建立關聯 下列 associate-resource範例會將 Canary 與名為 的群組建立關聯demo_group。aws synthetics associate-resource \ --group-identifierdemo_group\ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canary此命令不會產生輸出。 如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 AssociateResource 。 
 
- 
                    
以下程式碼範例顯示如何使用 create-canary。
- AWS CLI
- 
             
                    建立 Canary 下列 create-canary範例會建立名為 的 Canarydemo_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.1輸出: { "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": {} } }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 CreateCanary 。 
 
- 
                    
以下程式碼範例顯示如何使用 create-group。
- AWS CLI
- 
             
                    建立群組 下列 create-group範例會建立名為 的群組demo_group。aws synthetics create-group \ --namedemo_group輸出: { "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" } }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateGroup 。 
 
- 
                    
以下程式碼範例顯示如何使用 delete-canary。
- AWS CLI
- 
             
                    永久刪除 Canary 下列 delete-canary範例會刪除名為 的 Canarydemo_canary。aws synthetics delete-canary \ --namedemo_canary此命令不會產生輸出。 如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteCanary 。 
 
- 
                    
以下程式碼範例顯示如何使用 delete-group。
- AWS CLI
- 
             
                    刪除群組 下列 delete-group範例會刪除名為 的群組demo_group。aws synthetics delete-group \ --group-identifierdemo_group此命令不會產生輸出。 如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteGroup 。 
 
- 
                    
以下程式碼範例顯示如何使用 describe-canaries-last-run。
- AWS CLI
- 
             
                    查看每個 Canary 最近執行的資訊 下列 describe-canaries-last-run範例會傳回您建立的每個 Canary 的最新執行。aws synthetics describe-canaries-last-run輸出: { "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" } } ] }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DescribeCanariesLastRun 。 
 
- 
                    
以下程式碼範例顯示如何使用 describe-canaries。
- AWS CLI
- 
             
                    列出您帳戶中的 Canary 下列 describe-canaries範例列出您帳戶中 Canary 的詳細資訊。aws synthetics describe-canaries輸出: { "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" } } ] }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DescribeCanaries 。 
 
- 
                    
以下程式碼範例顯示如何使用 describe-runtime-versions。
- AWS CLI
- 
             
                    傳回合成 Canary 執行時間版本的清單 下列 describe-runtime-versions範例會傳回合成 Canary 執行時間版本的清單。aws synthetics describe-runtime-versions輸出: { "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" } ] }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DescribeRuntimeVersions 。 
 
- 
                    
以下程式碼範例顯示如何使用 disassociate-resource。
- AWS CLI
- 
             
                    從群組中移除 Canary 下列 disassociate-resource範例會從名為 的群組中移除 Canarydemo_group。aws synthetics disassociate-resource \ --group-identifierdemo_group\ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canary此命令不會產生輸出。 如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DisassociateResource 。 
 
- 
                    
以下程式碼範例顯示如何使用 get-canary-runs。
- AWS CLI
- 
             
                    擷取指定 Canary 的執行清單 下列 get-canary-runs範例會擷取名為 之 Canary 的執行清單demo_canary。aws synthetics get-canary-runs \ --namedemo_canary輸出: { "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" } ] }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetCanaryRuns 。 
 
- 
                    
以下程式碼範例顯示如何使用 get-canary。
- AWS CLI
- 
             
                    擷取有關一個 Canary 的完整資訊 下列 get-canary範例會擷取名為 之 Canary 的完整資訊demo_canary。aws synthetics get-canary \ --namedemo_canary輸出: { "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" } } }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetCanary 。 
 
- 
                    
以下程式碼範例顯示如何使用 get-group。
- AWS CLI
- 
             
                    傳回一個群組的相關資訊 下列 get-group範例會傳回名為 之群組的相關資訊demo_group。aws synthetics get-group \ --group-identifierdemo_group輸出: { "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" } }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱 AWS CLI Command Reference 中的 GetGroup 。 
 
- 
                    
以下程式碼範例顯示如何使用 list-associated-groups。
- AWS CLI
- 
             
                    傳回群組清單 下列 list-associated-groups範例會傳回與名為 的 Canary 相關聯的群組清單demo_canary。aws synthetics list-associated-groups \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canary輸出: { "Groups": [ { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123" } ] }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListAssociatedGroups 。 
 
- 
                    
以下程式碼範例顯示如何使用 list-group-resources。
- AWS CLI
- 
             
                    傳回與指定群組相關聯之 Canary ARNs 清單 下列 list-group-resources範例會傳回與名為 的群組相關聯的 Canary ARNs 清單demo_group。aws synthetics list-group-resources \ --group-identifierdemo_group輸出: { "Resources": [ "arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary" ] }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListGroupResources 。 
 
- 
                    
以下程式碼範例顯示如何使用 list-groups。
- AWS CLI
- 
             
                    傳回帳戶中所有群組的清單 下列 list-groups範例會傳回帳戶中所有群組的清單。aws synthetics list-groups輸出: { "Groups": [ { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123" } ] }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListGroups 。 
 
- 
                    
以下程式碼範例顯示如何使用 list-tags-for-resource。
- AWS CLI
- 
             
                    範例 1:顯示與 Canary 相關聯的標籤 下列 list-tags-for-resource範例會傳回與名為 的 Canary 相關聯的標籤demo_canary。aws synthetics list-tags-for-resource \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canary輸出: { "Tags": { "blueprint": "heartbeat" } }範例 2:顯示與群組相關聯的標籤 下列 list-tags-for-resource範例會傳回與名為 的群組相關聯的標籤demo_group。aws synthetics list-tags-for-resource \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:group:example123輸出: { "Tags": { "team": "Devops" } }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListTagsForResource 。 
 
- 
                    
以下程式碼範例顯示如何使用 start-canary。
- AWS CLI
- 
             
                    執行 Canary 下列 start-canary範例會執行名為 的 Canarydemo_canary。aws synthetics start-canary \ --namedemo_canary此命令不會產生輸出。 如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 StartCanary 。 
 
- 
                    
以下程式碼範例顯示如何使用 stop-canary。
- AWS CLI
- 
             
                    停止 Canary 下列 stop-canary範例會停止名為 的 Canarydemo_canary。aws synthetics stop-canary \ --namedemo_canary此命令不會產生輸出。 如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 StopCanary 。 
 
- 
                    
以下程式碼範例顯示如何使用 tag-resource。
- AWS CLI
- 
             
                    範例 1:將標籤指派給 Canary 下列 tag-resource範例會將標籤指派給名為 的 Canarydemo_canary。aws synthetics tag-resource \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canary\ --tagsblueprint=heartbeat此命令不會產生輸出。 範例 2:將標籤指派給群組 下列 tag-resource範例會將標籤指派給名為 的群組demo_group。aws synthetics tag-resource \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:group:example123\ --tagsteam=Devops此命令不會產生輸出。 如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 TagResource 。 
 
- 
                    
以下程式碼範例顯示如何使用 untag-resource。
- AWS CLI
- 
             
                    範例 1:從 Canary 移除標籤 下列 untag-resource範例會從名為 的 Canary 移除標籤demo_canary。aws synthetics untag-resource \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:canary:demo_canary\ --tag-keysblueprint此命令不會產生輸出。 範例 2:從群組中移除標籤 下列 untag-resource範例會指派 ,從名為 的群組中移除標籤demo_group。aws synthetics untag-resource \ --resource-arnarn:aws:synthetics:us-east-1:123456789012:group:example123\ --tag-keysteam此命令不會產生輸出。 如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UntagResource 。 
 
- 
                    
以下程式碼範例顯示如何使用 update-canary。
- AWS CLI
- 
             
                    更新 Canary 下列 update-canary範例會更新名為 的 Canary 組態demo_canary。aws synthetics update-canary \ --namedemo_canary\ --schedule Expression="rate(15 minutes)"此命令不會產生輸出。 如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的合成監控 ( Canary)。 - 
                    如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 UpdateCanary 。 
 
-