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 これは、ここにある Amazon の例に基づいています: https://docs.aws.amazon.com/streams/latest/dev/kcl2-standard-consumer-java-example.html