Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对 Amazon Data Firehose 中的错误进行故障排除
如果 Firehose 在传送或处理数据时遇到错误,它会重试,直到配置的重试持续时间到期。如果重试持续时间在成功传输数据之前结束,Firehose 会将数据备份到配置的 S3 备份存储桶。如果目标是 Amazon S3 但交付失败,或者向备份 S3 存储桶交付失败,Firehose 会继续重试,直到保留期结束。
有关使用追踪配送错误的信息 CloudWatch,请参阅使用日志监控亚马逊数据 Firehose CloudWatch 。
- Direct PUT
对于 DirectPut
Firehose 直播,Firehose 会将记录保留 24 小时。对于数据源为 Kinesis 数据流的 Firehose 流,您可以按照更改数据保留期中所述更改保留期。在这种情况下,Firehose 会无限期地重试以下操作:、和。DescribeStream
GetRecords
GetShardIterator
如果 Firehose 直播使用DirectPut
,请检查IncomingBytes
和IncomingRecords
指标以查看是否有传入流量。如果您正在使用 PutRecord
或 PutRecordBatch
,请务必捕获异常并重试。我们建议使用带指数退避的重试策略,并且提供抖动和多次重试功能。另外,如果您使用 PutRecordBatch
API,请确保即使API调用成功,您的代码也会检查响应FailedPutCount中的值。
- Kinesis Data Stream
如果 Firehose 流使用 Kinesis 数据流作为其来源,请检查源数据流的IncomingBytes
和IncomingRecords
指标。此外,请确保正在为 Firehose 直播发布DataReadFromKinesisStream.Bytes
和DataReadFromKinesisStream.Records
指标。