dip*_*nda 5 java amazon-kcl amazon-dynamodb-streams
我正在构建一个 Java 应用程序来使用 KCL 库使用来自 DynamoDB 流的事件。
com.amazonaws:dynamodb-streams-kinesis-adapter:1.4.0
Run Code Online (Sandbox Code Playgroud)
这取决于:
com.amazonaws:amazon-kinesis-client:1.9.0
Run Code Online (Sandbox Code Playgroud)
但是,在 KCL repo 上,已经有 KCL 的 v2.2.0,具有不同的组 ID:
software.amazon.kinesis:amazon-kinesis-client:2.2.0
Run Code Online (Sandbox Code Playgroud)
有没有办法将较新的 KCL 与 DynamoDB Stream 适配器一起使用?
亚马逊有 2 个有效的 KCL 版本。版本 1 和 2。根据变更数据捕获的流选项表,DynamoDB 流目前似乎仅与 KCL 版本 1 兼容。但是,如果需要使用 KCL 版本 2,则可以使用 Kinesis Stream 选项并通过 Kinesis Stream 捕获 dynamoDB 更改。总的来说,Kinesis Stream 似乎更强大、更灵活。但 DynamoDB Stream 相对于 Kinesis Stream 的一个优势是,事件按照发生的顺序接收,并且不存在重复事件,但使用 Kinesis Stream 时,无法保证事件顺序,并且可能存在重复事件。