无法连接到本地 DynamoDB

Cannot connect to local DynamoDB

我无法使用 cli 连接到 运行 本地的 DynamoDB。

aws dynamodb list-tables --endpoint-url http://localhost:8000

Could not connect to the endpoint URL: "http://localhost:8000/"

这也不起作用: aws dynamodb list-tables --region local 无法连接到端点 URL:“http://localhost:8000/”

我尝试使用不同的端口,但没有用。我也禁用了所有代理。 我可以使用这样的应用程序连接到 DynamoDB,所以我知道这不是 dynamodb 问题: aws dynamodb list-tables --endpoint-url http://dynamodb.us-west-2.amazonaws.com --region us-west-2

{ "TableNames": [ "Music" ] }

当你运行

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

来自终端的命令确保输出如下所示,并且没有服务 运行ning 在端口 8000 上:

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

这意味着,此服务运行在端口 8000 上成功。

DynamoDB 需要 any/fake 凭据才能工作。

AWS Access Key ID: "fakeMyKeyId"
AWS Secret Access Key: "fakeSecretAccessKey"

然后尝试使用以下命令列出表格。

aws dynamodb list-tables --endpoint-url http://localhost:8000

你日志中的错误是这里的关键 Caused by: java.lang.UnsatisfiedLinkError: no sqlite4java-osx-x86_64 in java.library.path: [.]

这意味着无法找到特定的依赖项。

Saranjeet提供的link有几个解决方案。我更喜欢这个测试解决方案:

First, you need to download the zip file from offcial website. Unzip the file, copy all the *.dll, *.dylib, *.so to a folder under your project root. Say, src/test/resources/libs.
Then, add the code

System.setProperty("sqlite4java.library.path", "src/test/resources/libs/");
before you initialize a local instance of AmazonDynamoDB.