Beispiele für die Verwendung der AWS CLI mit EventBridge - AWS Command Line Interface

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"

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-rules

So 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"

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 --entries file://putevents.json

Die 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 --rule DailyLambdaFunction --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 --rule EC2InstanceStateChanges --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 --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-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\"}"