将最佳实践应用于 KPL 聚合 - Amazon Kinesis Data Streams
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

将最佳实践应用于 KPL 聚合

虽然生成的 Amazon Kinesis Data Streams 记录的序号方案保持不变,但聚合会导致对 Kinesis Data Streams 汇总记录中包含的 Amazon Kinesis Producer Library (KPL) 用户记录的索引从 0(零)开始;但是,只要您不依赖序列号来唯一标识您的 Kinesis 用户记录,您的代码就可以忽略这一点,因为聚合 (你的 KPL 用户记录到 Kinesis Data Streams 记录中),然后取消聚合(将 Kinesis Data Streams 记录解聚到你的 KPL 用户记录中)会自动为您处理这个问题。无论您的消费者使用的是 KCL 还是 Amazon SDK,这都适用。要使用此聚合功能,如果您的使用者是使用 Amazon SDK 中提供的 API 编写的,则需要将 KPL 的 Java 部分提取到您的版本中。

如果您打算使用序列号作为 KPL 用户记录的唯一标识符,建议您使用 RecordUserRecord 中提供的遵守合约的 public int hashCode()public boolean equals(Object obj) 操作来比较您的 KPL 用户记录。此外,如果您想要检查 KPL 用户记录的子序列号,则可将其转换为 UserRecord 实例并检索其子序列号。

有关更多信息,请参阅 实现消费端取消聚合