5

I'm building a Java application to consume events from a DynamoDB Stream using the KCL library.

The example on AWS docs uses this library:

com.amazonaws:dynamodb-streams-kinesis-adapter:1.4.0

Which depends on:

com.amazonaws:amazon-kinesis-client:1.9.0

However, on the KCL repo, there already is v2.2.0 of the KCL, with a different group id:

software.amazon.kinesis:amazon-kinesis-client:2.2.0

Is there a way to use the newer KCL with DynamoDB Stream adapter?

dipanda
  • 760
  • 1
  • 11
  • 24

1 Answers1

0

Amazon has 2 active versions for KCL. Version 1 and 2. As per the Streaming Options for Change Data Capture table, it seems that the DynamoDB streams are only compatible with KCL version 1 at the moment. However, if there is a need to use KCL version 2 then one can use the Kinesis Stream option and capture the dynamoDB changes via a Kinesis Stream. Generally speaking, the Kinesis Stream seems to be more powerful and flexible. But one advantage that DynamoDB Stream has over the Kinesis Stream is that the events are received in the same order as happened and also there is no duplicate events but with Kinesis Stream the events order is not guaranteed and there could be duplicate events.

Navid H
  • 441
  • 4
  • 8