处理数据转换失败
如果您的 Lambda 函数调用因网络超时或达到 Lambda 调用限制而失败,Amazon Data Firehose 默认会重试调用 3 次。如果调用失败,Amazon Data Firehose 将跳过该批记录。跳过的记录会被视为未被成功处理的记录。您可以使用 CreateDeliveryStream 或 UpdateDestination API 指定或覆盖重试选项。对于这种失败,您可以将调用错误记录到 Amazon CloudWatch Logs。有关更多信息,请参阅 使用 CloudWatch Logs 监控 Amazon Data Firehose。
如果记录的数据转换的状态为 ProcessingFailed,则 Amazon Data Firehose 会将记录视为处理失败。对于这种失败,您可以从 Lambda 函数将错误日志发送到 Amazon CloudWatch Logs。有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的访问适用于 Amazon Lambda 的 Amazon CloudWatch Logs。
如果数据转换失败,则未被成功处理的记录会传输到您在 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)。