

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 用于动态分区的缓冲区数据
<a name="buffering"></a>

Amazon Data Firehose 将传入的流数据缓冲到一定大小，或缓冲一定时间后再将其传输到目的地。您可以在创建新的 Firehose 流时配置缓冲区大小和缓冲区时间间隔，或者更新现有 Firehose 流的缓冲区大小和缓冲区时间间隔。以秒为单位测量缓冲区大小，以秒为单位测量缓冲区间隔。 MBs

**注意**  
零缓冲功能不适用于动态分区。

启用动态分区后，Firehose 会根据配置的缓冲区提示（大小和时间）在内部缓冲属于给定分区的记录，然后再将这些记录传输到 Amazon S3 存储桶。为了传输最大大小的对象，Firehose 在内部使用多级缓冲。因此，一批记录的 end-to-end延迟可能是配置的缓冲提示时间的 1.5 倍。这会影响 Firehose 流的数据新鲜度。

活动分区计数是传输缓冲区内活动分区的总数。例如，如果动态分区查询每秒构造 3 个分区，并且您有一个缓冲区提示配置，每 60 秒触发一次传输，那么平均您将拥有 180 个活动分区。如果 Firehose 无法将分区中的数据传输到目的地，则该分区在传输缓冲区中将计为活动状态，直到可以传输为止。

当根据记录数据字段和 S3 前缀表达式将 S3 前缀计算为新值时，将创建一个新分区。为每个活动分区创建一个新缓冲区。具有相同计算 S3 前缀的每个后续记录都将传输到该缓冲区。

一旦缓冲区达到缓冲区大小限制或缓冲区时间间隔 Firehose 就会创建一个包含缓冲区数据的对象，并将其传输到指定的 Amazon S3 前缀。传输对象后，该分区的缓冲区和分区本身将被删除，并从活动分区计数中移除。

一旦分别满足每个分区的缓冲大小或间隔，Firehose 就会将每个缓冲区数据作为单个对象传输。一旦每个 Firehose 流的活动分区数量达到上限 500 个，Firehose 流中的其余记录就会被传送到指定的 S3 错误存储桶前缀 ()。activePartitionExceeded您可以使用 [Amazon Data Firehose 限制表单](https://support.console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=kinesis-firehose-limits)请求将此配额增加到每个给定 Firehose 流最多 5000 个活动分区。如果您需要更多分区，则可以创建更多 Firehose 流，并在这些流之间分配活动分区。