I am using AWS SDK V2 with KCL 2.x. I have enabled dynamodb table with streams. While creating the KCL Scheduler I am using the below configuration
TableDescription tableDescription =
dynamoDbAsyncClient.describeTable(DescribeTableRequest.builder()
.tableName("table1").build()).get().table();
var streamArn = tableDescription.latestStreamArn()
var subscriberId = InetAddress.getLocalHost().getCanonicalHostName() + ":" + UUID.randomUUID();
ConfigsBuilder configsBuilder = new ConfigsBuilder(streamArn, <applicationName>, kinesisAsyncClient, dynamoDbAsyncClient, cloudWatchAsyncClient, subscriberId, shardRecordProcessorFactory).tableName("table1Stream");
new Scheduler(
configsBuilder.checkpointConfig(),
configsBuilder.coordinatorConfig(),
configsBuilder.leaseManagementConfig(),
configsBuilder.lifecycleConfig(),
configsBuilder.metricsConfig(),
configsBuilder.processorConfig(),
configsBuilder.retrievalConfig());
I am getting the error :-
Value 'arn_aws_dynamodb_<>_table/<tableName>/stream/2021-08-11T12:30:47.041' at 'streamName' failed to satisfy constraint: Member must satisfy regular expression pattern: [a-zA-Z0-9_.-]+ (Service: Kinesis, Status Code: 400, Request ID: ff044658-ead5-4d7a-a259-4833e8071fc4, Extended Request ID:
Please provide suggestions on how to fix it.
I have tried by updating the value to
'arn_aws_dynamodb_<>_table/<tableName>/stream/2021-08-11T12_30_47.041'
but still getting the same error.