Amazon EventBridge Pipes ターゲット - Amazon EventBridge

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

Amazon EventBridge Pipes ターゲット

パイプ内のデータを特定のターゲットに送信できます。でパイプを設定するときに、次のターゲットを設定できます EventBridge。

ターゲットパラメータ

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

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

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

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

  • PipeTargetSageMakerPipelineParameters (Amazon SageMaker Runtime Model Building Pipelines)

  • PipeTargetBatchJobParameters (AWS Batch)

注記

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

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

  • ダッシュ

  • 下線

  • アルファベットの文字

  • 配列インデックス

  • ワイルドカード (*)

動的パスパラメータ

EventBridge Pipes ターゲットパラメータは、オプションの動的JSONパス構文をサポートします。この構文を使用して、静的な値 ( など$.detail.state) の代わりにJSONパスを指定できます。値全体は、その一部だけでなく、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文字列である場合、 はJSONパスから値を EventBridge 抽出し{"someKey":"someValue"}、それをターゲットパラメータとして使用します。この例では、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 ステートマシンの場合、標準ワークフローを非同期で呼び出す必要があります。

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

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

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

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

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

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

Lambda 関数と Step Functions ワークフローのターゲットの詳細

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

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

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

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

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

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