awslabs / dynamodb-streams-kinesis-adapter

The Amazon DynamoDB Streams Adapter implements the Amazon Kinesis interface so that your application can use KCL to consume and process data from a DynamoDB stream.
Apache License 2.0
97 stars 37 forks source link

Add `listShards` to `AmazonDynamoDBStreamsAdapterClient` #39

Open acm19 opened 3 years ago

acm19 commented 3 years ago

AmazonDynamoDBStreamsAdapterClient is being used by https://github.com/spring-projects/spring-integration-aws to switch from DynamoDB Streams to Kinesis Stream models. The problem is one of the operations being used is ListShards. DynamoDB Stream doesn't support this so that's broken at the moment in that project: https://github.com/spring-projects/spring-integration-aws/issues/181. It is using ListShards instead of DynamoDB streams because of this issue: https://github.com/spring-cloud/spring-cloud-stream-binder-aws-kinesis/issues/134, where some people were having problems with the DescribeStream operation limits.

Would you consider adding support for ListShards operation by delegating that to DescribeStream API in case of DynamoDB stream? If so let me know and I can do a PR like this one: https://github.com/spring-cloud/spring-cloud-stream-binder-aws-kinesis/pull/144 to this repo instead.