

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

# 向聚合数据应用动态分区
<a name="dynamic-partitioning-multirecord-deaggergation"></a>

您可以将动态分区应用于聚合数据（例如，聚合到单个 `PutRecord` 和 `PutRecordBatch` API 调用中的多个事件、日志或记录），但必须先对这些数据进行解聚。您可以通过启用多记录解聚来取消聚合数据，即解析 Firehose 流中的记录并将其分离的过程。

多记录解聚可以是 `JSON` 类型，这意味着记录的分离是基于连续的 JSON 对象执行的。解聚也可以是 `Delimited` 类型，这意味着记录的分隔是基于指定的自定义分隔符执行的。该自定义分隔符必须是 base-64 编码的字符串。例如，如果要使用以下字符串作为自定义分隔符 `####`，则必须以 base-64 编码格式指定该字符串，将其转换为 `IyMjIw==`。按 JSON 或分隔符对记录进行解聚的上限为每条记录 500。

**注意**  
解聚 JSON 记录时，请确保您的输入仍以支持的 JSON 格式显示。JSON 对象必须在一行上，没有分隔符或只有换行符分隔（JSONL）。JSON 对象数组不是有效输入。  
以下是正确输入的示例：`{"a":1}{"a":2} and {"a":1}\n{"a":2}`  
以下是错误输入的示例：`[{"a":1}, {"a":2}]`

 对于聚合数据，启用动态分区时，Firehose 会解析记录，并根据指定的多记录解聚类型在每次 API 调用中查找有效的 JSON 对象或分隔记录。

**重要**  
如果数据是聚合的，则只有在首次对数据进行解聚时才能应用动态分区。

**重要**  
在 Firehose 中使用数据转换功能时，将在数据转换之前应用解聚。进入 Firehose 的数据将按以下顺序处理：解聚 → 通过 Lambda 进行数据转换 → 分区键。