翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EventBridge のイベントバスターゲット
ターゲットとは、ルールに定義されたイベントパターンにイベントがマッチしたときに、EventBridge がイベントを送信する先のリソースまたはエンドポイントです。ルールはイベントデータを処理し、関連情報をターゲットに送信します。イベントデータをターゲットに配信するには、EventBridge がターゲットリソースにアクセスする許可が必要です。ルールごとに最大 5 つのターゲットを定義できます。
ルールにターゲットを追加し、その直後にルールが実行されると、新しいターゲットまたは更新されたターゲットがすぐに呼び出されない場合があります。変更が有効になるまで、しばらくお待ちください。
EventBridge コンソールで利用可能なイベントバスターゲット
EventBridge コンソールでは、ルールに以下のターゲットタイプを設定できます。
API 送信先
API 送信先は、イベントバスルールのターゲットとして呼び出すことができる HTTPS エンドポイントです。ルールのターゲットとして API 送信先を指定すると、EventBridge はルールで指定されたイベントパターンにマッチするイベントの HTTPS エンドポイントを呼び出し、イベント情報をリクエストとともに配信します。詳細については、「API 送信先」を参照してください。
イベントバス
その他のイベントバスをルールのターゲットとして指定できます。これには、同じアカウントまたは異なる AWS アカウントのイベントバスが含まれます。
AWS サービス
EventBridge にイベントを多数の AWS サービスリソースに送信させることができます。具体的には次のとおりです。
-
CodePipeline
-
Amazon EBS
CreateSnapshotAPI コール -
EC2 イメージビルダー
-
EC2
RebootInstancesAPI コール -
EC2
StopInstancesAPI コール -
EC2
TerminateInstancesAPI コール -
Firehose 配信ストリーム
-
Glue ワークフロー
-
Inspector 評価テンプレート
-
Kinesis ストリーミング
-
Lambda 関数 (ASYNC)
-
SageMaker AI パイプライン
-
Amazon SNS トピック
-
Step Functions ステートマシン (ASYNC)
-
Systems Manager Automation
-
Systems Manager OpsItem
-
Systems Manager Run Command
ターゲットパラメータ
一部のターゲットは、イベントペイロードの情報をターゲットに送信せず、特定の API を呼び出すトリガーとしてイベントを扱います。EventBridge は、ターゲットパラメータを指定して、そのターゲットで発生する処理を決定します。これには以下が含まれます。
-
API 送信先
API 送信先に送られるデータは、API の構造と一致する必要があります。
InputTransformerオブジェクトを使用して、データが正しく構造化されていることを確認します。元のイベントペイロードを含める場合は、InputTransformerで参照します。 -
API ゲートウェイ
API Gateway に送信されるデータは、API の構造と一致する必要があります。
InputTransformerオブジェクトを使用して、データが正しく構造化されていることを確認します。元のイベントペイロードを含める場合は、InputTransformerで参照します。 -
Amazon EC2 Image Builder
-
Amazon Redshift Data API クラスター
RedshiftDataParametersを使用します。 -
Amazon SageMaker ランタイムモデル構築パイプライン
SageMakerPipelineParametersを使用します。 -
Amazon SQS 公平キューと FIFO キュー
SqsParametersを使用して、ターゲットとして使用するメッセージグループを指定します。
注記
EventBridge ですべての JSON パス構文がサポートされているわけではなく、構文は実行時に評価されます。サポートされている構文には以下が含まれます。
ドット表記 (
$.detailなど)ダッシュ
下線
アルファベットの文字
配列インデックス
ワイルドカード (*)
動的パスパラメータ
動的パスパラメータを使用すると、JSON パス構文を使用して、静的値の代わりに実行時にイベントデータを参照できます。
ターゲットパラメータで動的 JSON パス構文を使用して、静的値 ( など) の代わりに JSON パスを指定できます$.detail.state。
要件
値全体は、その一部ではなく JSON パスである必要があります。例えば、次のようになります。
-
✓ 正解:
RedshiftParameters.Sql可能$.detail.state -
✗ 不正解:
RedshiftParameters.Sqlは使用できません"SELECT * FROM $.detail.state"
EventBridge は、実行時にこれらのパスを、指定されたパスのイベントペイロードのデータに置き換えます。
制限事項
動的パスパラメータは、入力変換から新しい値または変換された値を参照できません。JSON パス構文は、入力変換構文と同じです。詳細については、「Amazon EventBridge 入力変換」を参照してください。
サポートされているパラメータ
これらのパラメータのすべての文字列フィールドと非列挙型フィールドで動的構文を使用できます。
-
HttpParameters(HeaderParametersキーを除く)
権限
所有するリソースで API コールを行うには、EventBridge に適切な許可が必要です。EventBridge コンソールを使用するか、PutTargets で RoleARN パラメータを設定して、IAM 実行ロールを指定します。
例えば、次のポリシーでは、Amazon SQS キューにメッセージを送信するアクセス許可を定義します。
さらに次の信頼ポリシーにより、EventBridge はロールを引き受けることができます。
構成された IAM 認可で API Gateway エンドポイントを呼び出すことができますが、認可を構成していない場合、ロールはオプションです。詳細については、「Amazon EventBridge と AWS Identity and Access Management」を参照してください。
別のアカウントが同じリージョンにあって、許可を付与されている場合は、そのアカウントにイベントを送信できます。
詳細については、「Amazon EventBridge の AWS アカウント間でイベントを送受信する」を参照してください。
Amazon SQS キューなどのターゲットが AWS Key Management Service (AWS KMS) 暗号化を使用する場合は、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 を介して設定できます。
その他はイベントペイロードで指定できます。(InputTransformer を介して渡される) イベントペイロードに次のキーが含まれている場合、それらは submitJob リクエストパラメータにマップされます。
ContainerOverrides: containerOverrides注記
これには、コマンド、環境、メモリ、および VCPU のみが含まれます
DependsOn: dependsOn注記
これには jobId のみが含まれます
Parameters: parameters
ターゲットとしての CloudWatch Logs
CloudWatch Logs ターゲットで InputTransformer を使用しない場合、イベントペイロードはログメッセージとして、イベントのソースはタイムスタンプとして使用されます。InputTransformer を使用する場合、テンプレートは次のようになっている必要があります。
{"timestamp":<timestamp>,"message":<message>}
EventBridge はログストリームに送信されるエントリをバッチ処理します。そのため、EventBridge がトラフィックに応じて 1 つまたは複数のイベントをログストリームに配信する場合があります。
ターゲットとしての CodeBuild プロジェクト
EventBridge は、標準ビルドとバッチビルドの両方をターゲットとしてサポートしています。
入力トランスフォーマーを使用して、ソースイベントを CodeBuild ターゲットに配信する前に StartBuildRequest 構造と一致するように形成すると、パラメータは 1 対 1 でマッピングされ、デフォルトで codeBuild.StartBuild に渡されます。
代わりに、パラメータを codeBuild.StartBuildBatch に渡すには、StartBuildBatchRequest 構造と一致するようにソースイベントを変換し、変換したイベントのルートに次のキーと値のペアを追加します。
"buildType": "BATCH"
ターゲットとしての Amazon ECS タスク
InputTransformers を使用して入力イベントを Amazon ECS RunTask TaskOverride 構造と一致するようにターゲットに形成すると、パラメータは 1 対 1 でマッピングされ、ecs.RunTask に渡されます。
ターゲットとしての Incident Manager レスポンスプラン
一致したイベントが CloudWatch アラームからのものである場合、アラーム状態変化の詳細は、Incident Manager への StartIncidentRequest 呼び出しのトリガー詳細に入力されます。
ターゲットとしての Amazon SQS キュー
EventBridge は、 AWS 所有のキーで暗号化された Amazon SQS キューの使用をサポートしていません。これには、ターゲットと、ターゲットのデッドレターキューとして指定された Amazon SQS キューが含まれます。詳細については AWS 所有のキー、「 AWS Key Management Service デベロッパーガイド」のAWS 「 所有キー」を参照してください。