Firehose supports database as a source in all Amazon Web Services Regions
Handle failure in data transformation
If your Lambda function invocation fails because of a network timeout or because you've
reached the Lambda invocation limit, Amazon Data Firehose retries the invocation three times by default.
If the invocation does not succeed, Amazon Data Firehose then skips that batch of records. The skipped
records are treated as unsuccessfully processed records. You can specify or override the
retry options using the CreateDeliveryStream or UpdateDestination
API. For this type of failure, you can log invocation errors to Amazon CloudWatch Logs. For more
information, see Monitor Amazon Data Firehose Using
CloudWatch Logs.
If the status of the data transformation of a record is ProcessingFailed
,
Amazon Data Firehose treats the record as unsuccessfully processed. For this type of failure, you can
emit error logs to Amazon CloudWatch Logs from your Lambda function. For more information, see Accessing Amazon CloudWatch Logs for
Amazon Lambda in the Amazon Lambda Developer Guide.
If data transformation fails, the unsuccessfully processed records are delivered to
your S3 bucket in the processing-failed
folder. The records have
the following format:
{ "attemptsMade": "
count
", "arrivalTimestamp": "timestamp
", "errorCode": "code
", "errorMessage": "message
", "attemptEndingTimestamp": "timestamp
", "rawData": "data
", "lambdaArn": "arn
" }
attemptsMade
-
The number of invocation requests attempted.
arrivalTimestamp
-
The time that the record was received by Amazon Data Firehose.
errorCode
-
The HTTP error code returned by Lambda.
errorMessage
-
The error message returned by Lambda.
attemptEndingTimestamp
-
The time that Amazon Data Firehose stopped attempting Lambda invocations.
rawData
-
The base64-encoded record data.
lambdaArn
-
The Amazon Resource Name (ARN) of the Lambda function.