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 Runtime Model Building Pipelines)

  • 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 ソースの場合)

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

アクセス許可

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

ターゲットの呼び出し

EventBridge には、ターゲットを呼び出す次の方法があります。

  • 同期的 (呼び出しタイプを に設定REQUEST_RESPONSE) — 先に進む前にターゲットからの応答を EventBridge 待ちます。

  • 非同期 (呼び出しタイプを に設定FIRE_AND_FORGET) — EventBridge 続行する前にレスポンスを待たないでください。

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

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

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

注記

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