本文件 AWS CLI 僅適用於 的第 1 版。如需與 第 2 版相關的文件 AWS CLI,請參閱 第 2 版使用者指南 。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
EventBridge 使用 的範例 AWS CLI
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 來執行動作和實作常見案例 EventBridge。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會示範如何呼叫個別服務函數,但您可以在相關案例中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 delete-rule
。
- AWS CLI
-
若要刪除 CloudWatch 事件規則
此範例會刪除名為 的規則EC2InstanceStateChanges:
aws events delete-rule --name
"EC2InstanceStateChanges"
-
如需API詳細資訊,請參閱 命令參考 DeleteRule
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 describe-rule
。
- AWS CLI
-
若要顯示 CloudWatch 事件規則的相關資訊
此範例顯示名為 的規則的相關資訊 DailyLambdaFunction:
aws events describe-rule --name
"DailyLambdaFunction"
-
如需API詳細資訊,請參閱 命令參考 DescribeRule
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 disable-rule
。
- AWS CLI
-
若要停用 CloudWatch 事件規則
此範例會停用名為 的規則 DailyLambdaFunction。此規則不會遭到刪除:
aws events disable-rule --name
"DailyLambdaFunction"
-
如需API詳細資訊,請參閱 命令參考 DisableRule
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 enable-rule
。
- AWS CLI
-
若要啟用 CloudWatch 事件規則
此範例會啟用先前已停用 DailyLambdaFunction的 規則:
aws events enable-rule --name
"DailyLambdaFunction"
-
如需API詳細資訊,請參閱 命令參考 EnableRule
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 ListRuleNamesByTarget
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 list-rules
。
- AWS CLI
-
若要顯示所有 CloudWatch 事件規則的清單
此範例顯示 區域中的所有 CloudWatch 事件規則:
aws events list-rules
顯示以特定字串開頭 CloudWatch 的事件規則清單。
此範例顯示區域中名稱開頭為「每日」的所有 CloudWatch 事件規則:
aws events list-rules --name-prefix
"Daily"
-
如需API詳細資訊,請參閱 命令參考 ListRules
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 list-targets-by-rule
。
- AWS CLI
-
顯示 CloudWatch 事件規則的所有目標
此範例顯示名為 之規則的所有目標 DailyLambdaFunction:
aws events list-targets-by-rule --rule
"DailyLambdaFunction"
-
如需API詳細資訊,請參閱 命令參考 ListTargetsByRule
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-events
。
- AWS CLI
-
將自訂事件傳送至 CloudWatch 事件
此範例會將自訂事件傳送至 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詳細資訊,請參閱 命令參考 PutEvents
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-rule
。
- AWS CLI
-
若要建立 CloudWatch 事件規則
此範例會建立每天上午 9:00 觸發的規則 (UTC)。如果您使用 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詳細資訊,請參閱 命令參考 PutRule
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-targets
。
- AWS CLI
-
若要新增 CloudWatch 事件規則的目標
此範例會新增 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詳細資訊,請參閱 命令參考 PutTargets
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 remove-targets
。
- AWS CLI
-
移除事件的目標
此範例會將名為 MyStream1 的 Amazon Kinesis 串流從規則 的目標中移除 DailyLambdaFunction。 DailyLambdaFunction 建立 時,此串流設定為 ID 為 Target1 的目標:
aws events remove-targets --rule
"DailyLambdaFunction"
--ids"Target1"
-
如需API詳細資訊,請參閱 命令參考 RemoveTargets
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 TestEventPattern
中的 。 AWS CLI
-