使用 Kinesis Consumer Library 的第 2 版开发 Kinesis Consumer 并将 Dynamo DB 终端节点覆盖到 localstack 终端节点时,由于 SSL 握手错误,库无法创建租赁表。
我可以确认在使用 AWS 的 Dynamo DB 时创建表成功,但是一旦我将端点 url 覆盖为 localstack url,Dynamo DB 客户端在多次重试后无法创建租约表。堆栈跟踪不是很有用,但 Wireshark 显示了所有 SSL 握手错误,所以我只能假设 Amazon SDK 不接受 localstack 证书。我找不到任何关于如何使用该software.amazon.awssdk
软件包禁用证书验证的信息。
Region region = Region.of("us-east-1");
DefaultCredentialsProvider credentialsProvider = DefaultCredentialsProvider.create();
DynamoDbAsyncClient dynamoClient = DynamoDbAsyncClient.builder()
.region(region)
.endpointOverride(URI.create("https://localhost:4569"))
.credentialsProvider(credentialsProvider)
.build();
/edit 这是基于亚马逊在此处找到的示例:https ://docs.aws.amazon.com/streams/latest/dev/kcl2-standard-consumer-java-example.html