Amazon EventBridge ターゲット - Amazon EventBridge

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

Amazon EventBridge ターゲット

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

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

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

EventBridge コンソールで利用可能なターゲット

EventBridge コンソールでイベントに対して次のターゲットを設定できます。

ターゲットパラメータ

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

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

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

  • Amazon EC2 Image Builder

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

  • SageMakerPipelineParameters (Amazon SageMaker Runtime Model Building Pipelines)

注記

EventBridge は、すべての 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」を参照してください。

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

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

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

EventBridge ターゲットの詳細

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 呼び出しのトリガーの詳細に入力されます。