Amazon EventBridge ターゲット - Amazon EventBridge

Amazon EventBridge ターゲット

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

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

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

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

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

ターゲットパラメータ

以下のターゲットはパラメータを指定できます。

  • Kinesis データストリームのターゲットの場合、KinesisParameters パラメータを使用して、イベントの送信先のシャードを指定できます。

  • 1 つのルールを使用して複数の Amazon EC2 インスタンスでコマンドを呼び出す場合は、RunCommandParameters フィールドを使用できます。

  • API Gateway エンドポイントにデータを渡すには、オプションの動的 JSON パス構文を含めて HttpParameters フィールドを使用できます。すべての HttpParameters フィールド値 (HeaderParameters マップキーを除く) には、静的な値の代わりに JSON パス (例 $.detail.state) を含めることができます。このようなパスは、実行時に、指定されたパスにあるイベントペイロード自体のデータで動的に置き換えられます。動的パラメータの JSON パスでサポートされている構文は、ターゲット InputTransformers の場合と同じです。詳細については、「Amazon EventBridge ターゲット入力の変換」を参照してください。

  • Amazon Redshift クラスターにデータを渡すには、オプションの動的 JSON パス構文を含めて RedshiftDataParameters フィールドを使用できます。

  • SageMaker パイプラインにデータを渡すには、オプションの動的 JSON パス構文を含めて SageMakerPipelineParameters フィールドを使用できます。

InputInputPath、および InputTransformer は、ターゲットの相互に排他的でオプションのパラメータです。ルールが実行されると、動作は次のようになります。

  • ターゲットにパラメータを指定しない場合は、イベント全体が JSON 形式でターゲットに渡されます。ただし、ターゲットが Amazon EC2 Run コマンドまたは Amazon ECS タスクの場合、イベントはターゲットに渡されません。

  • 有効な JSON の形式で Input を指定した場合、一致したイベントはこの JSON で上書きされます。

  • JSONPath の形式で InputPath を指定した場合、イベントのうちパスで指定された部分のみがターゲットに渡されます。例えば、$.detail を指定した場合は、イベントの詳細部分のみが渡されます。

  • InputTransformer を指定すると、指定した 1 つ以上の JSONPath がイベントから抽出され、ターゲットの入力として指定するテンプレートの値として使用されます。

InputPath または InputTransformer を指定する場合は、ブラケット表記ではなく JSON のドット表記を使用する必要があります。

Permissions

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

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