Amazon EventBridge Pipes ターゲット - Amazon EventBridge

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

Amazon EventBridge Pipes ターゲット

パイプ内のデータを特定のターゲットに送信できます。EventBridge でパイプをセットアップする場合、以下のターゲットを設定できます。

ターゲットパラメータ

一部のターゲットサービスは、イベントペイロードをターゲットに送信せず、特定の API を呼び出すトリガーとしてイベントを扱います。EventBridge は、PipeTargetParameters を使用して、その API に送信される情報を指定します。これには以下が含まれます。

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

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

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

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

  • PipeTargetBatchJobParameters (AWS Batch)

注記

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

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

  • ダッシュ

  • 下線

  • アルファベットの文字

  • 配列インデックス

  • ワイルドカード (*)

  • スラッシュ

動的パスパラメータ

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

動的構文は、すべての文字列、すべての EventBridge Pipes エンリッチメントの非列挙型フィールドと、以下を除くターゲットパラメータで使用できます。

例えば、パイプの Kinesis ターゲットの PartitionKey をソースイベントのカスタムキーに設定するには、KinesisTargetParameter.PartitionKey を次のように設定します。

  • "$.data.someKey" (Kinesis ソースの場合)

  • "$.body.someKey" (Amazon SQS ソースの場合)

イベントペイロードが {"someKey":"someValue"} などの有効な JSON 文字列の場合、EventBridge は JSON パスから値を抽出し、それをターゲットパラメータとして使用します。この例では、EventBridge は Kinesis PartitionKey を「someValue」に設定します。

アクセス許可

所有するリソースで API をコールするには、EventBridge Pipes に適切な許可が必要です。EventBridge Pipes は、IAM プリンシパル pipes.amazonaws.com を使用して、パイプで指定した IAM ロールをエンリッチメントとターゲットコールに使用します。

ターゲットの呼び出し

EventBridge では、以下の方法でターゲットを呼び出すことができます。

  • 同期 (呼び出しタイプを REQUEST_RESPONSE に設定) – EventBridge は処理を続行する前にターゲットからのレスポンスを待ちます。

  • 非同期 (呼び出しタイプを FIRE_AND_FORGET に設定) — EventBridge はレスポンスを待たずに処理を続行します。

デフォルトでは、ソースが順序付けられたパイプの場合、次のイベントに進む前にターゲットからのレスポンスが必要なため、EventBridge はターゲットを同期的に呼び出します。

ソースが標準の Amazon SQS キューのように順序を強制しない場合、EventBridge はサポートされているターゲットを同期または非同期で呼び出すことができます。

Lambda 関数と Step Functions ステートマシンでは、呼び出しタイプを設定できます。

注記

Step Functions ステートマシンの場合、標準ワークフローを非同期で呼び出す必要があります。

ペイロードサイズ制限

EventBridge Pipes は最大 6 MB のペイロードをサポートします。ただし、有効なペイロードサイズ制限は、パイプの制限 6 MB またはターゲットサービスの最大ペイロードサイズのいずれか小さい方によって決まります。例えば、次のようになります。

  • Lambda 関数は最大 6 MB のペイロードをサポートしているため、Lambda をターゲットとするパイプの有効な制限は 6 MB です。

  • EventBridge イベントバスは最大 1 MB のペイロードをサポートするため、イベントバスをターゲットとするパイプの有効な制限は 1 MB です。

  • Step Functions ステートマシンは最大 256 KB のペイロードをサポートしているため、Step Functions をターゲットとするパイプの有効制限は 256 KB です。

パイプを設定するときは、エンリッチメントまたは入力変換によって適用される変換を含むペイロードサイズが、ターゲットの最大ペイロードサイズを超えないようにしてください。

AWS Batch ジョブキューのターゲットの詳細

すべての AWS Batch submitJobパラメータは で明示的に設定されBatchParameters、すべての Pipe パラメータと同様に、受信イベントペイロードへの JSON パスを使用して動的に設定できます。

CloudWatch Logs グループのターゲットの詳細

Input Transformer を使用するかどうかにかかわらず、イベントペイロードはログメッセージとして使用されます。PipeTarget では、CloudWatchLogsParameters を使用して Timestamp (または送信先の明示的な LogStreamName) を設定できます。これらのパラメータは、すべてのパイプのパラメータと同様に、受信イベントペイロードへの JSON パスを使用するとき、動的に設定できます。

Amazon ECS タスクターゲットの詳細

すべての Amazon ECS runTask パラメータは、EcsParameters を使用して明示的に設定されます。これらのパラメータは、すべてのパイプのパラメータと同様に、受信イベントペイロードへの JSON パスを使用するとき、動的に設定できます。

Lambda 関数とステップ関数のワークフローのターゲット詳細

Lambda 関数とステップ関数にバッチ API はありません。パイプソースからのイベントのバッチを処理するには、バッチを JSON 配列に変換し、Lambda または Step Functions ターゲットへの入力として渡します。詳細については、「Amazon EventBridge Pipes のバッチ処理と同時実行」を参照してください。

Timestream LiveAnalytics テーブルのターゲットの詳細

パイプターゲットとして Timestream for LiveAnalytics テーブルを指定する際の考慮事項は次のとおりです。

  • Apache Kafka ストリーム (Amazon MSK またはサードパーティープロバイダーからのストリームを含む) は現在、パイプソースとしてサポートされていません。

  • パイプソースとして Kinesis または DynamoDB ストリームを指定した場合は、再試行回数を指定する必要があります。

    詳細については、「パイプ設定の指定」を参照してください。

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

EventBridge イベントバスをパイプターゲットとして設定すると、パイプからのペイロードは EventBridge イベントの detailセクションに自動的に配置されます。PipeTargetEventBridgeEventBusParameters を使用して、イベントの フィールドsourcedetail-typeフィールドを設定します。どちらのフィールドも、イベントペイロードから値を抽出するための動的 JSON パス構文をサポートしています。たとえば、 Sourceを に、 $.body.source DetailTypeを に設定します$.data.eventType。入力トランスフォーマーを使用して、 detailフィールドに配置される前にイベント構造を変更することもできます。詳細については、「Amazon EventBridge Pipes の入力変換」を参照してください。