0

com.amazonaws の dynamodblocal (maven の v 1.10.5.1) を使用して、inMemory dynamoDB をローカルに作成しています。

ローカル サーバーを起動する Java コードは次のとおりです。

server = ServerRunner.createServerFromCommandLineArgs({ "port", getAvailablePort(), "-inMemory", "-sharedDb" });
server.start();
AmazonDynamoDBClient amazonDynamoDBClient = new AmazonDynamoDBClient(basicAWSCredentials);

これは、ローカル dynamodb を正常に開始したことを確認するログです。

Initializing DynamoDB Local with the following configuration:
Port:   60677
InMemory:   true
DbPath: null
SharedDb:   true
shouldDelayTransientStatuses:   false
CorsParams: *

http://localhost:60677/shellここではポート 60677 が使用されており、Web ブラウザーから手動で開くことができます。しかし、プログラムでアクセスしようとすると機能しません。私は取得し続けHTTP/1.1 500 Server Errorます。

これにより、500エラーが発生します(ポートはの出力になりますgetAvailablePort()):

amazonDynamoDBClient.setEndpoint("http://localhost:" + port);
amazonDynamoDBClient.listTables();

また、コマンドラインから次のコマンドを起動すると、次のようになります。

java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -port 9999 -inMemory -sharedDb

プログラムで接続しようとすると、正常に動作します。すべての CRUD 操作をプログラムで実行できます。

私は何を間違っていますか?

4

1 に答える 1