を使用したEventBridge の例 AWS CLI - AWS SDKコードの例

Doc AWS SDK ExamplesWord リポジトリには、さらに多くの GitHub の例があります。 AWS SDK

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用したEventBridge の例 AWS CLI

次のコード例は、 を AWS Command Line Interface with EventBridge を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には、完全なソースコードへのリンクが含まれています。このリンクでは、コンテキストでコードを設定および実行する手順を確認できます。

トピック

アクション

次の例は、delete-rule を使用する方法を説明しています。

AWS CLI

CloudWatch Events ルールを削除するには

この例では、EC2InstanceStateChanges という名前のルールを削除します。

aws events delete-rule --name "EC2InstanceStateChanges"
  • API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteRule」を参照してください。

次の例は、describe-rule を使用する方法を説明しています。

AWS CLI

a 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 イベントルールのリストを表示するには

この例では、リージョン内のすべての 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

a 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 ルールを作成するには

この例では、毎日午前 9 時 (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 の詳細については、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"

この例は、2 つの Amazon Kinesis ストリームを 1 つのルールのターゲットとして設定します。

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 ストリームを rule DailyLambdaFunction のターゲットから削除します。 DailyLambdaFunction が作成されると、このストリームはターゲット 1 の 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」を参照してください。