文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 的 Application Signals 範例 AWS CLI
下列程式碼範例說明如何 AWS Command Line Interface 搭配 Application Signals 使用 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
以下程式碼範例顯示如何使用 batch-get-service-level-objective-budget-report
。
- AWS CLI
-
擷取一或多個服務水準目標 (SLO) 預算報告。
下列
batch-get-service-level-objective-budget-report
範例會擷取一或多個服務層級目標 (SLO) 預算報告。aws application-signals batch-get-service-level-objective-budget-report \ --timestamp
1735059869
\ --slo-ids"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName1"
"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName2"
輸出:
{ "Timestamp": "2024-12-24T22:34:29+05:30", "Reports": [{ "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName1", "Name": "Your SLO Name", "EvaluationType": "PeriodBased", "BudgetStatus": "OK", "Attainment": 100.0, "TotalBudgetSeconds": 6048, "BudgetSecondsRemaining": 6048, "Sli": { "SliMetric": { "MetricDataQueries": [{ "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{ "Name": "InstanceId", "Value": "i-0e098765432522" }] }, "Period": 60, "Stat": "Average" }, "ReturnData": true }] }, "MetricThreshold": 200.0, "ComparisonOperator": "LessThanOrEqualTo" }, "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 99.0, "WarningThreshold": 50.0 } }, { "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName2", "Name": "test", "EvaluationType": "PeriodBased", "BudgetStatus": "BREACHED", "Attainment": 97.39583275, "TotalBudgetSeconds": 86, "BudgetSecondsRemaining": -2154, "Sli": { "SliMetric": { "MetricDataQueries": [{ "Id": "cwMetric", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{ "Name": "InstanceId", "Value": "i-0e12345678922" }] }, "Period": 300, "Stat": "Average" }, "ReturnData": true }] }, "MetricThreshold": 5.0, "ComparisonOperator": "GreaterThan" }, "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 1 } }, "AttainmentGoal": 99.9, "WarningThreshold": 30.0 } } ], "Errors": [] }
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 BatchGetServiceLevelObjectiveBudgetReport
。
-
以下程式碼範例顯示如何使用 create-service-level-objective
。
- AWS CLI
-
建立服務層級目標 (SLO)
下列
create-service-level-objective
範例會建立服務水準目標 (SLO),這可協助您確保關鍵業務營運符合客戶期望。aws application-signals create-service-level-objective \ --name
"SLOName"
\ --description"Description of your SLO"
\ --sli-configfile://sli-config.json
sli-config.json
的內容:{ "SliMetricConfig": { "MetricDataQueries": [ { "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [ { "Name": "InstanceId", "Value": "i-0e5a1234561522" } ] }, "Period": 60, "Stat": "Average" }, "ReturnData": true } ] }, "MetricThreshold": 200, "ComparisonOperator": "LessThanOrEqualTo" }
輸出:
{ "Slo": { "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", "Name": "SLOName", "Description": "Description of your SLO", "CreatedTime": "2024-12-27T08:16:09.032000+05:30", "LastUpdatedTime": "2024-12-27T08:16:09.032000+05:30", "Sli": { "SliMetric": { "MetricDataQueries": [ { "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [ { "Name": "InstanceId", "Value": "i-0e59876543234522" } ] }, "Period": 60, "Stat": "Average" }, "ReturnData": true } ] }, "MetricThreshold": 200.0, "ComparisonOperator": "LessThanOrEqualTo" }, "EvaluationType": "PeriodBased", "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 99.0, "WarningThreshold": 50.0 } } }
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 CreateServiceLevelObjective
。
-
以下程式碼範例顯示如何使用 delete-service-level-objective
。
- AWS CLI
-
刪除指定的服務層級目標。
下列
delete-service-level-objective
範例會刪除指定的服務層級目標。aws application-signals delete-service-level-objective \ --id
"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteServiceLevelObjective
。
-
以下程式碼範例顯示如何使用 get-service-level-objective
。
- AWS CLI
-
傳回在帳戶中建立的一個 SLO 的相關資訊
下列
get-service-level-objective
範例會傳回在帳戶中建立的一個 SLO 的相關資訊。aws application-signals get-service-level-objective \ --id
"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"
輸出:
{ "Slo": { "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", "Name": "SLOName", "Description": "Description of your SLO", "CreatedTime": "2024-12-24T22:19:18.624000+05:30", "LastUpdatedTime": "2024-12-24T22:19:55.280000+05:30", "Sli": { "SliMetric": { "MetricDataQueries": [{ "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{ "Name": "InstanceId", "Value": "i-0e0987654321522" }] }, "Period": 60, "Stat": "Average" }, "ReturnData": true }] }, "MetricThreshold": 200.0, "ComparisonOperator": "LessThanOrEqualTo" }, "EvaluationType": "PeriodBased", "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 99.0, "WarningThreshold": 50.0 } } }
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetServiceLevelObjective
。
-
以下程式碼範例顯示如何使用 get-service
。
- AWS CLI
-
傳回 Application Signals 探索之服務的相關資訊
下列
get-service
範例會傳回 Application Signals 探索之服務的相關資訊。aws application-signals get-service \ --start-time
1732704000
\ --end-time1732714500
\ --key-attributesEnvironment=lambda:default,Name=hello-world-python,Type=Service
輸出:
{ "Service": { "KeyAttributes": { "Environment": "lambda:default", "Name": "hello-world-python", "Type": "Service" }, "AttributeMaps": [{ "Lambda.Function.Name": "hello-world-python", "PlatformType": "AWS::Lambda" }], "MetricReferences": [{ "Namespace": "ApplicationSignals", "MetricType": "LATENCY", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Latency" }, { "Namespace": "ApplicationSignals", "MetricType": "FAULT", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Fault" }, { "Namespace": "ApplicationSignals", "MetricType": "ERROR", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Error" }], "LogGroupReferences": [{ "Identifier": "/aws/lambda/hello-world-python", "ResourceType": "AWS::Logs::LogGroup", "Type": "AWS::Resource" }] }, "StartTime": "2024-11-27T10:00:00+00:00", "EndTime": "2024-11-27T14:00:01+00:00", "LogGroupReferences": [{ "Identifier": "/aws/lambda/hello-world-python", "ResourceType": "AWS::Logs::LogGroup", "Type": "AWS::Resource" }] }
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetService
。
-
以下程式碼範例顯示如何使用 list-service-dependencies
。
- AWS CLI
-
傳回您指定之服務的服務相依性清單
下列
list-service-dependencies
範例會傳回您指定之服務的服務相依性清單。aws application-signals list-service-dependencies \ --start-time
1732021200
\ --end-time1732107600
\ --key-attributesEnvironment=api-gateway:prod,
Name=PetAdoptionStatusUpdater,Type=Service
輸出:
{ "ServiceDependencies": [{ "OperationName": "PUT /prod", "DependencyKeyAttributes": { "Environment": "lambda:default", "Name": "Services-name", "Type": "Service" }, "DependencyOperationName": "Invoke", "MetricReferences": [{ "Namespace": "ApplicationSignals", "MetricType": "LATENCY", "Dimensions": [{ "Name": "Environment", "Value": "api-gateway:prod" }, { "Name": "Operation", "Value": "PUT /prod" }, { "Name": "RemoteEnvironment", "Value": "lambda:default" }, { "Name": "RemoteOperation", "Value": "Invoke" }, { "Name": "RemoteService", "Value": "Services-name" }, { "Name": "Service", "Value": "PetAdoptionStatusUpdater" }], "MetricName": "Latency" }, { "Namespace": "ApplicationSignals", "MetricType": "FAULT", "Dimensions": [{ "Name": "Environment", "Value": "api-gateway:prod" }, { "Name": "Operation", "Value": "PUT /prod" }, { "Name": "RemoteEnvironment", "Value": "lambda:default" }, { "Name": "RemoteOperation", "Value": "Invoke" }, { "Name": "RemoteService", "Value": "Services-name" }, { "Name": "Service", "Value": "PetAdoptionStatusUpdater" }], "MetricName": "Fault" }, { "Namespace": "ApplicationSignals", "MetricType": "ERROR", "Dimensions": [{ "Name": "Environment", "Value": "api-gateway:prod" }, { "Name": "Operation", "Value": "PUT /prod" }, { "Name": "RemoteEnvironment", "Value": "lambda:default" }, { "Name": "RemoteOperation", "Value": "Invoke" }, { "Name": "RemoteService", "Value": "Services-name" }, { "Name": "Service", "Value": "PetAdoptionStatusUpdater" }], "MetricName": "Error" }] }], "StartTime": "2024-11-19T13:00:00+00:00", "EndTime": "2024-11-20T13:00:01+00:00" }
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListServiceDependencies
。
-
以下程式碼範例顯示如何使用 list-service-dependents
。
- AWS CLI
-
傳回在提供的時間範圍內調用指定服務的相依性清單
下列
list-service-dependents
範例會傳回在提供的時間範圍內調用指定服務的相依性清單。aws application-signals list-service-dependents \ --start-time
1732021200
\ --end-time1732107600
\ --key-attributesEnvironment=generic:default,Name=PetSite,Type=Service
輸出:
{ "ServiceDependents": [{ "OperationName": "", "DependentKeyAttributes": { "Identifier": "pet-api-canary-hao", "ResourceType": "AWS::Synthetics::Canary", "Type": "AWS::Resource" }, "DependentOperationName": "", "MetricReferences": [] }, { "OperationName": "", "DependentKeyAttributes": { "Identifier": "PetSite", "ResourceType": "AWS::Synthetics::Canary", "Type": "AWS::Resource" }, "DependentOperationName": "", "MetricReferences": [] }], "StartTime": "2024-12-24T05:00:00+00:00", "EndTime": "2024-12-25T06:00:01+00:00" }
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListServiceDependents
。
-
以下程式碼範例顯示如何使用 list-service-level-objectives
。
- AWS CLI
-
傳回在此帳戶中建立的 SLOs清單。
下列
list-service-level-objectives
範例會傳回在此帳戶中建立的 SLOs清單。aws application-signals list-service-level-objectives
輸出:
{ "SloSummaries": [{ "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/test", "Name": "test", "CreatedTime": "2024-12-24T22:01:21.116000+05:30" }] }
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListServiceLevelObjectives
。
-
以下程式碼範例顯示如何使用 list-service-operations
。
- AWS CLI
-
傳回 Application Signals 已發現的此服務操作清單
下列
list-service-operations
範例會傳回 Application Signals 發現的此服務操作清單。aws application-signals list-service-operations \ --start-time
1735017423
\ --end-time1735103823
\ --key-attributesEnvironment=generic:default,Name=payforadoption,Type=Service
輸出:
{ "ServiceOperations": [{ "Name": "POST /api", "MetricReferences": [{ "Namespace": "ApplicationSignals", "MetricType": "LATENCY", "Dimensions": [{ "Name": "Environment", "Value": "generic:default" }, { "Name": "Operation", "Value": "POST /api" }, { "Name": "Service", "Value": "payforadoption" }], "MetricName": "Latency" }, { "Namespace": "ApplicationSignals", "MetricType": "FAULT", "Dimensions": [{ "Name": "Environment", "Value": "generic:default" }, { "Name": "Operation", "Value": "POST /api" }, { "Name": "Service", "Value": "payforadoption" }], "MetricName": "Fault" }, { "Namespace": "ApplicationSignals", "MetricType": "ERROR", "Dimensions": [{ "Name": "Environment", "Value": "generic:default" }, { "Name": "Operation", "Value": "POST /api" }, { "Name": "Service", "Value": "payforadoption" }], "MetricName": "Error" }] }], "StartTime": "2024-12-24T05:00:00+00:00", "EndTime": "2024-12-25T06:00:01+00:00" }
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListServiceOperations
。
-
以下程式碼範例顯示如何使用 list-services
。
- AWS CLI
-
傳回 Application Signals 已探索的服務清單
下列
list-services
範例會傳回 Application Signals 已探索的服務清單。aws application-signals list-services \ --start-time
1734918791
\ --end-time1734965591
輸出:
{ "ServiceSummaries": [{ "KeyAttributes": { "Environment": "lambda:default", "Name": "hello-world-python", "Type": "Service" }, "AttributeMaps": [{ "Lambda.Function.Name": "hello-world-python", "PlatformType": "AWS::Lambda" }], "MetricReferences": [{ "Namespace": "ApplicationSignals", "MetricType": "LATENCY", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Latency" }, { "Namespace": "ApplicationSignals", "MetricType": "FAULT", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Fault" }, { "Namespace": "ApplicationSignals", "MetricType": "ERROR", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Error" }] }], "StartTime": "2024-11-27T10:00:00+00:00", "EndTime": "2024-11-27T14:00:01+00:00" }
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListServices
。
-
以下程式碼範例顯示如何使用 list-tags-for-resource
。
- AWS CLI
-
顯示與 CloudWatch 資源相關聯的標籤
下列
list-tags-for-resource
範例顯示與 CloudWatch 資源相關聯的標籤。aws application-signals list-tags-for-resource \ --resource-arn
"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"
輸出:
{ "Tags": [{ "Key": "test", "Value": "value" }] }
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListTagsForResource
。
-
以下程式碼範例顯示如何使用 start-discovery
。
- AWS CLI
-
讓此 Amazon Web Services 帳戶能夠使用 CloudWatch Application Signals
下列
start-discovery
範例可讓此 Amazon Web Services 帳戶透過建立 CloudWatch 服務連結角色來使用 CloudWatch Application Signals。 AWS ServiceRoleForCloudWatchApplicationSignalsaws application-signals start-discovery
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 StartDiscovery
。
-
以下程式碼範例顯示如何使用 tag-resource
。
- AWS CLI
-
將一或多個標籤 (鍵/值對) 指派給指定的 CloudWatch 資源,例如服務層級目標
下列
tag-resource
範例會將一或多個標籤 (索引鍵/值對) 指派給指定的 CloudWatch 資源,例如服務層級目標。aws application-signals tag-resource \ --resource-arn
"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"
\ --tags '{"Key":"test","Value":"value"}
'此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 TagResource
。
-
以下程式碼範例顯示如何使用 untag-resource
。
- AWS CLI
-
從指定的資源移除一或多個標籤
下列
untag-resource
範例會從指定的資源移除一或多個標籤。aws application-signals untag-resource \ --resource-arn
"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"
\ --tag-keys"test"
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UntagResource
。
-
以下程式碼範例顯示如何使用 update-service-level-objective
。
- AWS CLI
-
更新現有的服務水準目標 (SLO)
下列
update-service-level-objective
範例會更新現有的服務水準目標 (SLO)。aws application-signals update-service-level-objective \ --cli-input-json
file://update-slo.json
update-slo.json
的內容:{ "id": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", "goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 90.0, "WarningThreshold": 50.0 } }
輸出:
{ "Slo": { "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", "Name": "SLOName", "Description": "Description of your SLO", "CreatedTime": "2024-12-24T22:19:18.624000+05:30", "LastUpdatedTime": "2024-12-27T08:51:38.278000+05:30", "Sli": { "SliMetric": { "MetricDataQueries": [{ "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{ "Name": "InstanceId", "Value": "i-00987654345222" }] }, "Period": 60, "Stat": "Average" }, "ReturnData": true }] }, "MetricThreshold": 200.0, "ComparisonOperator": "LessThanOrEqualTo" }, "EvaluationType": "PeriodBased", "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 90.0, "WarningThreshold": 50.0 } } }
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Application Signals。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 UpdateServiceLevelObjective
。
-