

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

# データ変換の失敗を処理する
<a name="data-transformation-failure-handling"></a>

ネットワークタイムアウトのために、または Lambda 呼び出しの制限に達したために、Lambda 関数呼び出しが失敗した場合、Amazon Data Firehose は呼び出しをデフォルトで 3 回再試行します。呼び出しが成功しなければ、Amazon Data Firehose はそのレコードのバッチをスキップします。スキップされたレコードは処理失敗として扱われます。[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 を使用して、再試行オプションを指定または上書きできます。このタイプの失敗の場合、呼び出しエラーログを Amazon CloudWatch Logs に出力できます。詳細については、「[CloudWatch Logs を使用して Amazon Data Firehose をモニタリングする](monitoring-with-cloudwatch-logs.md)」を参照してください。

レコードのデータ変換のステータスが `ProcessingFailed` の場合、Amazon Data Firehose はそのレコードを処理失敗として扱います。このタイプの失敗の場合、エラーログを Lambda 関数から Amazon CloudWatch Logs に出力できます。詳細については、*AWS Lambda 開発者ガイド*の「[AWS Lambdaの Amazon CloudWatch Logs にアクセス](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html)」を参照してください。

データ変換が失敗した場合、処理に失敗したレコードは S3 バケットの `processing-failed` フォルダに配信されます。レコードの形式は以下のとおりです。

```
{
    "attemptsMade": "{{count}}",
    "arrivalTimestamp": "{{timestamp}}",
    "errorCode": "{{code}}",
    "errorMessage": "{{message}}",
    "attemptEndingTimestamp": "{{timestamp}}",
    "rawData": "{{data}}",
    "lambdaArn": "{{arn}}"
}
```

`attemptsMade`  
呼び出しリクエストの試行回数。

`arrivalTimestamp`  
Amazon Data Firehose がレコードを受信した時間。

`errorCode`  
Lambda から返された HTTP エラーコード。

`errorMessage`  
Lambda から返されたエラーメッセージ。

`attemptEndingTimestamp`  
Amazon Data Firehose が Lambda 呼び出しの試行を停止した時間。

`rawData`  
base64 エンコード後のレコードデータ。

`lambdaArn`  
 Lambda 関数の Amazon リソースネーム (ARN)。