Amazon のイベントバスターゲット EventBridge - Amazon EventBridge

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

Amazon のイベントバスターゲット EventBridge

ターゲットは、イベントがルール に定義されたイベントパターンと一致するときにイベントを EventBridge に送信するリソースまたはエンドポイントです。 Amazon のルール EventBridgeルールはイベントデータを処理し、関連情報をターゲットに送信します。イベントデータをターゲットに配信するには、ターゲットリソースにアクセスするためのアクセス許可 EventBridge が必要です。ルールごとに最大 5 つのターゲットを定義できます。

ルールにターゲットを追加し、その直後にルールが実行されると、新しいターゲットまたは更新されたターゲットがすぐに呼び出されない場合があります。変更が有効になるまで、しばらくお待ちください。

次のビデオでは、ターゲットの基本について説明します。

コンソールで使用できる EventBridgeイベントバスターゲット

EventBridge コンソールでは、次のイベントターゲットを設定できます。

ターゲットパラメータ

一部のターゲットは、イベントペイロード内の情報をターゲットに送信しません。代わりに、イベントを特定の を呼び出すトリガーとして扱いますAPI。 は、ターゲットパラメータ EventBridge を使用して、そのターゲットで何が起こるかを決定します。これには以下が含まれます。

  • API 送信先 (API送信先に送信されるデータは、 の構造と一致する必要がありますAPI。 InputTransformer オブジェクトを使用して、データが正しく構造化されていることを確認する必要があります。 元のイベントペイロードを含める場合は、 で参照しますInputTransformer。)

  • API Gateway (APIGateway に送信されるデータは、 の構造と一致する必要がありますAPI。 InputTransformer オブジェクトを使用して、データが正しく構造化されていることを確認する必要があります。 元のイベントペイロードを含める場合は、 で参照しますInputTransformer。)

  • Amazon EC2 Image Builder

  • RedshiftDataParameters (Amazon Redshift データAPIクラスター)

  • SageMakerPipelineParameters (Amazon SageMaker Runtime Model Building Pipelines)

注記

EventBridge は、すべての Path JSON 構文をサポートしているわけではなく、実行時に評価します。サポートされている構文には以下が含まれます。

  • ドット表記 ($.detail など)

  • ダッシュ

  • 下線

  • アルファベットの文字

  • 配列インデックス

  • ワイルドカード (*)

動的パスパラメータ

一部のターゲットパラメータは、オプションの動的JSONパス構文をサポートしています。この構文では、静的な値 (例: ) の代わりにJSONパスを指定できます$.detail.state。値全体は、その一部だけでなく、JSONパスである必要があります。例えば、RedshiftParameters.Sql$.detail.state とすることができますが、"SELECT * FROM $.detail.state" とすることはできません。このようなパスは、実行時に、指定されたパスにあるイベントペイロード自体のデータで動的に置き換えられます。動的パスパラメータは、入力変換の結果として生じる新しい値または変換された値を参照できません。動的パラメータJSONパスでサポートされている構文は、入力を変換する場合と同じです。詳細については、「Amazon EventBridge 入力変換」を参照してください

動的構文は、これらのパラメータのすべての文字列の非列挙型フィールドで使用できます。

アクセス許可

所有しているリソースをAPI呼び出すには、適切なアクセス許可 EventBridge が必要です。 AWS Lambda および Amazon SNSリソースの場合、 はリソースベースのポリシー EventBridge を使用します。EC2 インスタンス、Kinesis データストリーム、および Step Functions ステートマシンでは、 の RoleARNパラメータで指定したIAMロール EventBridge を使用しますPutTargets。IAM 認証を設定して API Gateway エンドポイントを呼び出すことはできますが、認証を設定していない場合、ロールはオプションです。詳細については、「Amazon EventBridge および AWS Identity and Access Management」を参照してください。

別のアカウントが同じリージョンにあって、許可を付与されている場合は、そのアカウントにイベントを送信できます。詳細については、「Amazon の AWS アカウント間でのイベントの送受信 EventBridge」を参照してください。

ターゲットが暗号化されている場合は、KMSキーポリシーに次のセクションを含める必要があります。

{ "Sid": "Allow EventBridge to use the key", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }

AWS Batch ターゲットとしてのジョブキュー

特定の AWS Batch submitJobパラメータは、 を介して設定できますBatchParameters

その他はイベントペイロードで指定できます。イベントペイロード ( 経由または 経由InputTransformers) に次のキーが含まれている場合、それらはsubmitJobリクエストパラメータ にマッピングされます。

  • ContainerOverrides: containerOverrides

    注記

    これには、コマンド、環境、メモリ、および VCPU のみが含まれます

  • DependsOn: dependsOn

    注記

    これには、 のみが含まれます。 jobId

  • Parameters: parameters

CloudWatch グループをターゲットとしてログに記録します

CloudWatch Logs ターゲットInputTransformerで を使用しない場合、イベントペイロードがログメッセージとして使用され、イベントのソースがタイムスタンプとして使用されます。を使用する場合 InputTransformer、テンプレートは次の条件を満たす必要があります。

{"timestamp":<timestamp>,"message":<message>}

EventBridge は、ログストリームに送信されたエントリをバッチ処理するため、トラフィックに応じて 1 つまたは複数のイベントをログストリームに配信 EventBridge できます。

CodeBuild ターゲットとしてのプロジェクト

InputTransformers を使用して入力イベントを構造に一致する CodeBuild StartBuildRequestターゲットにシェイプすると、パラメータは 1 対 1 にマッピングされ、 に渡されますcodeBuild.StartBuild

ターゲットとしての Amazon ECSタスク

InputTransformers を使用して入力イベントを Amazon ECS RunTask TaskOverride構造に一致するターゲットにシェイプする場合、パラメータは 1 対 1 にマッピングされ、 に渡されますecs.RunTask

Incident Manager のターゲットとしての対応計画

一致したイベントが CloudWatch アラームから発生した場合、アラーム状態の変更の詳細が Incident Manager への StartIncidentRequest 呼び出しのトリガーの詳細に入力されます。