本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
处理数据转换失败
如果您的 Lambda 函数调用因网络超时或达到 Lambda 调用限制而失败,Amazon Data Firehose 默认会重试调用 3 次。如果调用失败,Amazon Data Firehose 将跳过该批记录。跳过的记录会被视为未被成功处理的记录。您可以使用或 UpdateDestination
API 指定或覆盖重试选项。CreateDeliveryStream对于此类故障,您可以将调用错误记录到 Amazon Lo CloudWatch gs 中。有关更多信息,请参阅 使用 CloudWatch Logs 监控 Amazon Data Firehose。
如果记录的数据转换的状态为 ProcessingFailed
,则 Amazon Data Firehose 会将记录视为处理失败。对于此类故障,您可以通过 Lambda 函数向 Amazon CloudWatch 日志发送错误日志。有关更多信息,请参阅Amazon Lambda 开发者指南 Amazon Lambda中的访问 Amazon CloudWatch 日志。
如果数据转换失败,则未成功处理的记录将传送到该processing-failed
文件夹中的 S3 存储桶。这些记录具有如下格式:
{ "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)。