Поток здесь: https://github.com/awslabs/amazon-kinesis-client/issues/34, показывает конструктор KCL Worker, который принимает клиента DynamoDB.
public Worker(
com.amazonaws.services.kinesis.clientlibrary.interfaces.IRecordProcessorFactory recordProcessorFactory,
KinesisClientLibConfiguration config,
AmazonKinesis kinesisClient,
AmazonDynamoDB dynamoDBClient,
AmazonCloudWatch cloudWatchClient,
ExecutorService execService) {
this(recordProcessorFactory, config, kinesisClient, dynamoDBClient,
getMetricsFactory(cloudWatchClient, config), execService);
if (config.getRegionName() != null) {
Region region = RegionUtils.getRegion(config.getRegionName());
cloudWatchClient.setRegion(region);
LOG.debug("The region of Amazon CloudWatch client has been set to " + config.getRegionName());
}
}
Вы можете создать свой собственный клиент DynamoDB, указывающий на DynamoDB Local, и инициализировать KCL Worker.
Вы даже можете заставить эту настройку работать для нескольких приложений KCL на нескольких экземплярах / контейнерах / контейнерах EC2, если вы предоставляете локальный DynamoDB доступным по сети.