

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

# Amazon Data Firehose でソースデータを変換する
<a name="data-transformation"></a>

Amazon Data Firehoseでは、Lambda 関数を呼び出して、着信ソースデータを変換してから宛先に配信できます。Amazon Data Firehose のデータ変換は、Firehose ストリームの作成時に有効にすることができます。

## データ変換フローを理解する
<a name="data-transformation-flow"></a>

Firehose のデータ変換を有効にすると、Firehose は着信データをバッファリングします。バッファリングサイズのヒントの範囲は 0.2 MB～3 MB です。デフォルトの Lambda バッファリングサイズのヒントは、Splunk と Snowflake を除くすべての宛先で 1 MB です。Splunk と Snowflake の場合、デフォルトのバッファリングのヒントは 256 KB です。Lambda バッファリング間隔のヒントの範囲は 0～900 秒です。デフォルトの Lambda バッファリング間隔のヒントは、Snowflake を除くすべての宛先で 60 秒です。Snowflake の場合、デフォルトのバッファリングのヒントの間隔は 30 秒です。バッファリングサイズを調整するには、[CreateDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html) または [UpdateDestination](https://docs.aws.amazon.com/firehose/latest/APIReference/API_UpdateDestination.html) API の [ProcessingConfiguration](https://docs.aws.amazon.com/firehose/latest/APIReference/API_ProcessingConfiguration.html) パラメータを、`BufferSizeInMBs` および `IntervalInSeconds` という [ProcessorParameter](https://docs.aws.amazon.com/firehose/latest/APIReference/API_ProcessorParameter.html) で設定します。次に、Firehose は、同期呼び出しモードを使用して、バッファされた各バッチと同期的に指定された Lambda AWS Lambda 関数を呼び出します。変換されたデータは、Lambda から Firehose に送信されます。その後、変換されたデータは、指定された宛先のバッファリングサイズとバッファリング間隔のいずれかに到達したときに、Firehose より宛先に配信されます。到達順序は関係ありません。

**重要**  
Lambda 同期呼び出しモードには、リクエストとレスポンスの両方について、ペイロードサイズに 6 MB の制限があります。関数にリクエストを送信するためのバッファサイズが 6 MB 以下であることを確認してください。また、関数より返るレスポンスが 6 MB を超えないことを確認します。

## Lambda の呼び出し期間
<a name="data-transformation-execution-duration"></a>

Amazon Data Firehose では、最大 5 分の Lambda の呼び出し時間がサポートされます。Lambda 関数が完了するまでに 5 分以上かかると、次のエラーが発生します。Firehose は AWS Lambda を呼び出すときにタイムアウトエラーを検出しました。サポートされている関数のタイムアウトは最大 5 分です。

このようなエラーが発生した場合の Amazon Data Firehose による処理の詳細については、「[データ変換の失敗を処理する](data-transformation-failure-handling.md)」を参照してください。