使用 DynamoDB Streams Kinesis 适配器处理流记录 - Amazon DynamoDB

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

使用 DynamoDB Streams Kinesis 适配器处理流记录

使用 Amazon Kinesis 适配器是使用来自 Amazon DynamoDB 的流的建议方法。DynamoDB Streams API 有意与 Kinesis Data Streams 相似,该服务是一种实时处理大规模流数据。在这两种服务中,数据流都由分片组成,分片是流记录的容器。这两种服务的 API 都包含ListStreamsDescribeStreamGetShards, 和GetShardIterator运算。虽然这些 DynamoDB Streams 操作与 Kinesis Data Streams 中的对应操作类似,但它们并不完全相同。)

您可以使用 Kinesis 客户端库 (KCL) 为运动数据流编写应用程序。KCL 通过提供低级 Kinesis Data Streams API 之上的有用抽象来简化编码。有关 KCL 的更多信息,请参阅使用 Kinesis 客户端库开发使用者中的Amazon Kinesis Data Streams 开发人员指南

作为 DynamoDB Streams 用户,您可以使用 KCL 中找到的设计模式来处理 DynamoDB Streams 分片和流记录。若要执行此操作,请使用 DynamoDB Streams Kinesis 适配器。动能适配器实现 Kinesis Data Streams 接口,以便 KCL 可用于使用和处理来自 DynamoDB Streams 的记录。

以下图表显示了这些库之间的交互方式。

有了 DynamoDB Streams Kinesis 适配器,您可以开始针对 KCL 接口进行开发,使 API 调用无缝定向到 DynamoDB Streams 端点。

当您的应用程序启动时,它会调用 KCL 来实例化工作程序。您必须向工作人员提供应用程序的配置信息,如流描述符和AWS凭据以及您提供的记录处理器类的名称。当它在记录处理器中运行代码时,工作程序执行以下任务:

  • 连接到流。

  • 枚举流中的分片。

  • 协调与其他工作程序的分片关联(如果有)。

  • 为其管理的每个分片实例化记录处理器。

  • 从流中提取记录。

  • 将记录推送到对应的记录处理器。

  • 检查点处理记录。

  • 在工作程序实例计数更改时均衡分片与工作程序的关联。

  • 在分片被拆分时均衡分片与工作程序的关联。

注意

有关此处列出的 KCL 概念的说明,请参阅使用 Kinesis 客户端库开发使用者中的Amazon Kinesis Data Streams 开发人员指南