本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon S3 故障排除
如果数据未传输到 Amazon Simple Storage Service(Amazon S3)存储桶,请检查以下各项。
-
检查 Firehose
IncomingBytes
和IncomingRecords
指标,确保数据成功发送到您的 Firehose 流。有关更多信息,请参阅 使用 CloudWatch 指标监控 Amazon Data Firehose。 -
如果启用了使用 Lambda 进行的数据转换,请检查 Firehose
ExecuteProcessingSuccess
指标,确保 Firehose 已尝试调用 Lambda 函数。有关更多信息,请参阅 使用 CloudWatch 指标监控 Amazon Data Firehose。 -
检查 Firehose
DeliveryToS3.Success
指标,确保 Firehose 已尝试将数据放入 Amazon S3 存储桶。有关更多信息,请参阅 使用 CloudWatch 指标监控 Amazon Data Firehose。 -
如果尚未启用错误日志记录功能,则启用它并检查是否存在传输失败错误日志。有关更多信息,请参阅 使用 CloudWatch Logs 监控 Amazon Data Firehose。
如果你在日志中看到一条错误消息,上面写着 “在调用 Amazon S3 服务 InternalServerError 时遇到了 Firehos e。该操作将被重试;如果错误持续存在,请联系 S3 以进行解决。”,这可能是由于 S3 中单个分区的请求速率显著增加。您可以优化 S3 前缀设计模式以缓解此问题。有关更多信息,请参阅最佳实践设计模式:优化 Amazon S3 性能。如果这不能解决问题,请联系 Supp Amazon ort 寻求进一步帮助。
-
确保在 Firehose 流中指定的 Amazon S3 存储桶仍然存在。
-
如果启用了使用 Lambda 进行的数据转换,确保在 Firehose 流中指定的 Lambda 函数仍然存在。
-
确保在您的 Firehose 流中指定的IAM角色可以访问您的 S3 存储桶和您的 Lambda 函数(如果启用了数据转换)。此外,请确保该IAM角色有权访问 CloudWatch 日志组和日志流以检查错误日志。有关更多信息,请参阅 授予 Firehose 访问 Amazon S3 目的地的权限。
-
如果使用数据转换,确保您的 Lambda 函数不会返回有效负载大小超过 6MB 的响应。有关更多信息,请参阅 Amazon 数据 FirehoseData 转换。