Amazon EventBridge ターゲット - Amazon EventBridge

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

Amazon EventBridge ターゲット

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

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

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

EventBridge ターゲットはコンソールで使用できます。

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

ターゲットパラメータ

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

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

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

  • Amazon EC2 Image Builder

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

  • SageMakerPipelineParameters(Amazon SageMaker ランタイムモデル構築パイプライン)

注記

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

  • ドット表記 ($.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 EventBridge ステートマシンでは、RoleARNのパラメータで指定した IAM ロールを使用します。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 submitJobBatchParameters特定のパラメータはを介して設定できます。

その他はイベントペイロードで指定できます。イベントペイロード (パススルーまたは経由 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 タスク

を使用して InputTransformersAmazon ECS RunTask TaskOverride構造に合わせて入力イベントを Target にシェーピングすると、パラメータは 1 対 1 にマッピングされ、に渡されます。ecs.RunTask

Incident Manager レスポンスプラン

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