本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
向聚合数据应用动态分区
您可以将动态分区应用于聚合数据(例如,聚合到单个 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 进行数据转换 → 分区键。