7

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

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

无法连接到端点 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

{“表名”:[“音乐”]}

4

2 回答 2

2

当你跑

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

来自终端的命令确保输出如下所示,并且端口 8000 上不会运行任何服务:

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

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

DynamoDB 需要任何/伪造的凭据才能工作。

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

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

aws dynamodb list-tables --endpoint-url http://localhost:8000
于 2020-07-16T16:52:32.873 回答
0

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

这意味着无法定位特定的依赖关系。

Saranjeet 提供的链接有一些解决方案。我更喜欢此解决方案进行测试:

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.
于 2020-07-17T17:34:55.220 回答