EventBridge を使用した例 AWS CLI - AWS Command Line Interface

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

EventBridge を使用した例 AWS CLI

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

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

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

トピック

アクション

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

AWS CLI

CloudWatch イベントルールを削除するには

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

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

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

AWS CLI

CloudWatch イベントルールに関する情報を表示するには

この例では、 という名前のルールに関する情報を表示します DailyLambdaFunction。

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

次のコード例は、disable-rule を使用する方法を示しています。

AWS CLI

CloudWatch イベントルールを無効にするには

この例では、 という名前のルールを無効にします DailyLambdaFunction。ルールは削除されません。

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

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

AWS CLI

CloudWatch イベントルールを有効にするには

この例では 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 イベントルールを表示します。

aws events list-rules

特定の文字列で始まる CloudWatch イベントルールのリストを表示します。

この例では、「日」で始まる名前を持つリージョン内のすべての CloudWatch イベントルールを表示します。

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

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

AWS CLI

CloudWatch イベントルールのすべてのターゲットを表示するには

この例では、 という名前のルールのすべてのターゲットを表示します DailyLambdaFunction。

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

次のコード例は、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 詳細については、AWS CLI 「 コマンドリファレンスPutEvents」の「」を参照してください。

次の例は、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 詳細については、AWS CLI 「 コマンドリファレンスPutRule」の「」を参照してください。

次の例は、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"

この例は、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 ストリームをルールのターゲットから削除します 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」の「」を参照してください。