本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 的 EventBridge 範例 AWS CLI
下列程式碼範例示範如何透過 AWS Command Line Interface 搭配 EventBridge 使用 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 delete-rule
。
- AWS CLI
-
刪除 CloudWatch Events 規則
此範例會刪除名為 EC2InstanceStateChanges 的規則:
aws events delete-rule --name
"EC2InstanceStateChanges"
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteRule
。
-
下列程式碼範例示範如何使用 describe-rule
。
- AWS CLI
-
顯示 CloudWatch Events 規則的相關資訊
此範例會顯示名為 DailyLambdaFunction 之規則的相關資訊:
aws events describe-rule --name
"DailyLambdaFunction"
-
如需 API 的詳細資訊,請參閱《AWS CLI 命令參考》中的 DescribeRule
。
-
下列程式碼範例示範如何使用 disable-rule
。
- AWS CLI
-
停用 CloudWatch Events 規則
此範例會停用名為 DailyLambdaFunction 的規則。此規則不會遭到刪除:
aws events disable-rule --name
"DailyLambdaFunction"
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DisableRule
。
-
下列程式碼範例示範如何使用 enable-rule
。
- AWS CLI
-
啟用 CloudWatch Events 規則
此範例會啟用先前已停用之名為 DailyLambdaFunction 的規則:
aws events enable-rule --name
"DailyLambdaFunction"
-
如需 API 的詳細資訊,請參閱《AWS CLI 命令參考》中的 EnableRule
。
-
下列程式碼範例示範如何使用 list-rule-names-by-target
。
- AWS CLI
-
顯示具有指定目標的所有規則
此範例會顯示將名為「MyFunctionName」的 Lambda 函數作為目標的所有規則:
aws events list-rule-names-by-target --target-arn
"arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListRuleNamesByTarget
。
-
下列程式碼範例示範如何使用 list-rules
。
- AWS CLI
-
顯示列出所有 CloudWatch Events 規則的清單
此範例會顯示區域中的所有 CloudWatch Events 規則:
aws events list-rules
顯示列出以特定字串開頭之 CloudWatch Events 規則的清單。
此範例顯示區域中名稱以「Daily」開頭的所有 CloudWatch Events 規則:
aws events list-rules --name-prefix
"Daily"
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListRules
。
-
下列程式碼範例示範如何使用 list-targets-by-rule
。
- AWS CLI
-
顯示 CloudWatch Events 規則的所有目標
此範例會顯示名為 DailyLambdaFunction 之規則的所有目標:
aws events list-targets-by-rule --rule
"DailyLambdaFunction"
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListTargetsByRule
。
-
下列程式碼範例示範如何使用 put-events
。
- AWS CLI
-
將自訂事件傳送 CloudWatch Events
此範例會將自訂事件傳送至 CloudWatch Events。putevents.json 檔案中包含該事件:
aws events put-events --entries
file://putevents.json
以下為 putevents.json 檔案的內容:
[ { "Source": "com.mycompany.myapp", "Detail": "{ \"key1\": \"value1\", \"key2\": \"value2\" }", "Resources": [ "resource1", "resource2" ], "DetailType": "myDetailType" }, { "Source": "com.mycompany.myapp", "Detail": "{ \"key1\": \"value3\", \"key2\": \"value4\" }", "Resources": [ "resource1", "resource2" ], "DetailType": "myDetailType" } ]
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 PutEvents
。
-
下列程式碼範例示範如何使用 put-rule
。
- AWS CLI
-
建立 CloudWatch Events 規則
此範例會建立規則,該規則會在每天 UTC 時間上午 9:00 時觸發。如果您使用 put-targets,新增 Lambda 函數作為此規則的目標,則可以在指定的時間每天執行 Lambda 函數:
aws events put-rule --name
"DailyLambdaFunction"
--schedule-expression"cron(0 9 * * ? *)"
此範例會建立規則,當區域中的任何 EC2 執行個體變更狀態時便會觸發此規則:
aws events put-rule --name
"EC2InstanceStateChanges"
--event-pattern "{\"source\":[\"aws.ec2\"],\"detail-type\":[\"EC2 Instance State-change Notification\"]}" --role-arn"arn:aws:iam::123456789012:role/MyRoleForThisRule"
此範例會建立規則,當區域中的任何 EC2 執行個體停止或終止時便會觸發此規則:
aws events put-rule --name
"EC2InstanceStateChangeStopOrTerminate"
--event-pattern "{\"source\":[\"aws.ec2\"],\"detail-type\":[\"EC2 Instance State-change Notification\"],\"detail\":{\"state\":[\"stopped\",\"terminated\"]}}" --role-arn"arn:aws:iam::123456789012:role/MyRoleForThisRule"
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 PutRule
。
-
下列程式碼範例示範如何使用 put-targets
。
- AWS CLI
-
新增 CloudWatch Events 規則的目標
此範例會新增 Lambda 函數作為規則的目標:
aws events put-targets --rule
DailyLambdaFunction
--targets "Id"="1","Arn"="arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"此範例會將 Amazon Kinesis 串流設定為目標,以便將此規則捕捉到的事件轉送至串流:
aws events put-targets --rule
EC2InstanceStateChanges
--targets "Id"="1","Arn"="arn:aws:kinesis:us-east-1:123456789012:stream/MyStream","RoleArn"="arn:aws:iam::123456789012:role/MyRoleForThisRule"此範例會將兩個 Amazon Kinesis 串流設定為單一規則的目標:
aws events put-targets --rule
DailyLambdaFunction
--targets "Id"="Target1","Arn"="arn:aws:kinesis:us-east-1:379642911888:stream/MyStream1","RoleArn"="arn:aws:iam::379642911888:role/ MyRoleToAccessLambda" "Id"="Target2"," Arn"="arn:aws:kinesis:us-east-1:379642911888:stream/MyStream2","RoleArn"="arn:aws:iam::379642911888:role/MyRoleToAccessLambda"-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 PutTargets
。
-
下列程式碼範例示範如何使用 remove-targets
。
- AWS CLI
-
移除事件的目標
此範例會將名為 MyStream1 的 Amazon Kinesis 串流移除,使其不再是規則 DailyLambdaFunction 的目標。建立 DailyLambdaFunction 時,會將此串流設為 ID 為 Target1 的目標:
aws events remove-targets --rule
"DailyLambdaFunction"
--ids"Target1"
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 RemoveTargets
。
-
下列程式碼範例示範如何使用 test-event-pattern
。
- AWS CLI
-
檢查事件模式是否符合指定的事件
此範例會測試模式 "source:com.mycompany.myapp" 是否符合指定的事件。在此範例中,輸出會是「true」:
aws events test-event-pattern --event-pattern "{\"source\":[\"com.mycompany.myapp\"]}" --event "{\"id\":\"1\",\"source\":\"com.mycompany.myapp\",\"detail-type\":\"myDetailType\",\"account\":\"123456789012\",\"region\":\"us-east-1\",\"time\":\"2017-04-11T20:11:04Z\"}"
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 TestEventPattern
。
-