Beispiele für die Verwendung der AWS CLI mit EventBridge
Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit EventBridge nutzen.
Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.
Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.
Themen
Aktionen
Das folgende Codebeispiel zeigt, wie delete-rule verwendet wird.
- AWS CLI
-
So löschen Sie eine CloudWatch-Events-Regel
In diesem Beispiel wird die Regel namens EC2InstanceStateChanges gelöscht:
aws events delete-rule --name"EC2InstanceStateChanges"-
API-Details finden Sie unter DeleteRule
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-rule verwendet wird.
- AWS CLI
-
So zeigen Sie Informationen zu einer CloudWatch-Events-Regel an
Im folgenden Beispiel werden Informationen zu der Regel namens DailyLambaFunction angezeigt:
aws events describe-rule --name"DailyLambdaFunction"-
API-Details finden Sie unter DescribeRule
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie disable-rule verwendet wird.
- AWS CLI
-
So deaktivieren Sie eine CloudWatch-Events-Regel
In diesem Beispiel wird die Regel namens DailyLambaFunction deaktiviert. Die Regel wird nicht gelöscht:
aws events disable-rule --name"DailyLambdaFunction"-
API-Details finden Sie unter DisableRule
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie enable-rule verwendet wird.
- AWS CLI
-
So aktivieren Sie eine CloudWatch-Events-Regel
Im folgenden Beispiel wird die Regel namens DailyLambdaFunction aktiviert, die zuvor deaktiviert wurde:
aws events enable-rule --name"DailyLambdaFunction"-
API-Details finden Sie unter EnableRule
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-rule-names-by-target verwendet wird.
- AWS CLI
-
So zeigen Sie alle Regeln mit einem bestimmten Ziel an
Im folgenden Beispiel werden alle Regeln angezeigt, deren Ziel die Lambda-Funktion „MyFunctionName“ ist:
aws events list-rule-names-by-target --target-arn"arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"-
API-Details finden Sie unter ListRuleNamesByTarget
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-rules verwendet wird.
- AWS CLI
-
So zeigen Sie eine Liste aller CloudWatch-Events-Regeln an
Im folgenden Beispiel werden alle CloudWatch-Events-Regeln in der Region angezeigt:
aws events list-rulesSo zeigen Sie eine Liste der CloudWatch-Events-Regeln an, die mit einer bestimmten Zeichenfolge beginnen
Im folgenden Beispiel werden alle CloudWatch-Events-Regeln in der Region angezeigt, deren Name mit „Daily“ beginnt:
aws events list-rules --name-prefix"Daily"-
API-Details finden Sie unter ListRules
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-targets-by-rule verwendet wird.
- AWS CLI
-
So zeigen Sie alle Ziele für eine CloudWatch-Events-Regel an
Im folgenden Beispiel werden alle Ziele der Regel namens DailyLambaFunction angezeigt:
aws events list-targets-by-rule --rule"DailyLambdaFunction"-
API-Details finden Sie unter ListTargetsByRule
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie put-events verwendet wird.
- AWS CLI
-
So senden Sie ein benutzerdefiniertes Ereignis an CloudWatch Events
In diesem Beispiel wird ein benutzerdefiniertes Ereignis an CloudWatch Events gesendet. Das Ereignis ist in der Datei putevents.json enthalten:
aws events put-events --entriesfile://putevents.jsonDie Datei putevents.json hat folgenden Inhalt:
[ { "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-Details finden Sie unter PutEvents
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie put-rule verwendet wird.
- AWS CLI
-
So erstellen Sie CloudWatch-Events-Regeln
Im folgenden Beispiel wird eine Regel erstellt, die jeden Tag um 09:00 Uhr (UTC) ausgelöst wird. Wenn Sie put-targets verwenden, um eine Lambda-Funktion als Ziel dieser Regel hinzuzufügen, können Sie die Lambda-Funktion jeden Tag zur angegebenen Zeit ausführen:
aws events put-rule --name"DailyLambdaFunction"--schedule-expression"cron(0 9 * * ? *)"Im folgenden Beispiel wird eine Regel erstellt, die ausgelöst wird, wenn eine EC2-Instance in der Region den Status ändert:
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"Im folgenden Beispiel wird eine Regel erstellt, die ausgelöst wird, wenn eine EC2-Instance in der Region gestoppt oder beendet wird:
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-Details finden Sie unter PutRule
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie put-targets verwendet wird.
- AWS CLI
-
So fügen Sie Ziele für CloudWatch-Events-Regeln hinzu
Im folgenden Beispiel wird eine Lambda-Funktion als Ziel einer Regel hinzugefügt:
aws events put-targets --ruleDailyLambdaFunction--targets "Id"="1","Arn"="arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"Im folgenden Beispiel wird ein Amazon-Kinesis-Stream als Ziel festgelegt, sodass Ereignisse, die von dieser Regel erfasst werden, an den Stream weitergeleitet werden:
aws events put-targets --ruleEC2InstanceStateChanges--targets "Id"="1","Arn"="arn:aws:kinesis:us-east-1:123456789012:stream/MyStream","RoleArn"="arn:aws:iam::123456789012:role/MyRoleForThisRule"Im folgenden Beispiel werden zwei Amazon-Kinesis-Streams als Ziele für eine Regel festgelegt:
aws events put-targets --ruleDailyLambdaFunction--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-Details finden Sie unter PutTargets
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie remove-targets verwendet wird.
- AWS CLI
-
So entfernen Sie ein Ziel für ein Ereignis
In diesem Beispiel wird der Amazon-Kinesis-Stream namens MyStream1 als Ziel der Regel DailyLambdaFunction entfernt. Bei der Erstellung von DailyLambdaFunction wurde dieser Stream als Ziel mit der ID Target1 festgelegt:
aws events remove-targets --rule"DailyLambdaFunction"--ids"Target1"-
API-Details finden Sie unter RemoveTargets
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie test-event-pattern verwendet wird.
- AWS CLI
-
So überprüfen Sie, ob ein Ereignismuster mit einem bestimmten Ereignis übereinstimmt
In diesem Beispiel wird getestet, ob das Muster „source:com.mycompany.myapp“ mit dem angegebenen Ereignis übereinstimmt. In diesem Beispiel wäre die Ausgabe „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-Details finden Sie unter TestEventPattern
in der AWS CLI-Befehlsreferenz.
-