Amazon DynamoDB
开发人员指南 (API Version 2012-08-10)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

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

使用 Kinesis 适配器是使用 DynamoDB 中的流的推荐方法。

DynamoDB 流 API 与 Kinesis 流的 API 非常类似,后者是一项用于实时处理大规模流数据的服务。在这两种服务中,数据流由分区组成,这些分区是流记录的容器。这两种服务的 API 包含 ListStreamsDescribeStreamGetShardsGetShardIterator 操作。 (尽管这些 DynamoDB 流 操作类似于其在 Kinesis 流中的对应操作,但它们并非完全相同。)

您可使用 Kinesis Client Library (KCL) 为 Kinesis 流编写应用程序。KCL 通过提供高于低级 Kinesis 流 API 的有用抽象来简化代码编写。有关 KCL 的更多信息,请转至 Amazon Kinesis Developer Guide

作为 DynamoDB 流 用户,您可利用在 KCL 内找到的设计模式来处理 DynamoDB 流 分区和流记录。为此,您使用 DynamoDB 流 Kinesis 适配器。Kinesis 适配器实施 Kinesis 流接口,以便 KCL 可用于使用和处理 DynamoDB 流 中的记录。

下图演示了这些库的交互方式。

实施 DynamoDB 流 Kinesis 适配器后,您可通过在 DynamoDB 流 终端节点无缝定向的 API 调用来开始针对 KCL 接口进行开发。

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

  • 连接到流。

  • 枚举流中的分区。

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

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

  • 从流中提取记录。

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

  • 对已处理记录进行检查点操作。

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

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

注意

有关上面列出的 KCL 概念的说明,请参阅 Amazon Kinesis Developer Guide 中的使用 Amazon Kinesis Client Library 开发 Amazon Kinesis 使用者应用程序