如何在本地dynamoDB中使用aws-cli?

Alo*_* G. 12 amazon-dynamodb

我正在努力使用aws-cli和我的本地机器上运行的dynamoDB,有人可以帮忙.

具有以下配置的DynamoDB Local:

Port:   8000
InMemory:   false
DbPath: null
SharedDb:   true
shouldDelayTransientStatuses:   false
CorsParams: *
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏.

Bor*_*rov 19

文档:

将AWS CLI与可下载的DynamoDB配合使用

AWS CLI可以与您计算机上运行的DynamoDB进行交互.要启用此功能,请为每个命令添加--endpoint-url参数:

--endpoint-url http:// localhost:8000

以下是一个示例,使用AWS CLI列出本地数据库中的表:

aws dynamodb list-tables --endpoint-url http://localhost:8000
Run Code Online (Sandbox Code Playgroud)

注意:如果您尚未配置任何AWS凭据,则上述命令可能会失败You must specify regionUnable to locate credentials错误.对于本地连接,任何凭证都可以使用,因此可以使用任意值,例如,如下所示:

AWS_ACCESS_KEY_ID=X AWS_SECRET_ACCESS_KEY=X aws dynamodb list-tables --endpoint-url http://localhost:8000 --region x
Run Code Online (Sandbox Code Playgroud)

  • 同样对我来说,也许有些默认值已经改变了,虽然`aws dynamodb list-tables --endpoint-url http:// localhost:8000 --region local`对我有用(实际上有任何值,比如`--region x `). (3认同)
  • 我必须使用 Key ID = *None*、Secret Key = *None*、region = *local* 和 format = *json* 运行 `aws configure` 才能让它运行。之后无需指定`--region x`。 (2认同)

ald*_*tis 7

其他替代方案:创建“myprofile”配置文件。

aws configure --profile myprofile
AWS Access Key ID [None]: "fakeMyKeyId"
AWS Secret Access Key [None]: "fakeSecretAccessKey"
Default region name [None]: x
Default output format [None]:
Run Code Online (Sandbox Code Playgroud)

然后

aws dynamodb list-tables --endpoint-url http://localhost:8000 --profile myprofile
    
{
   "TableNames": []
}
Run Code Online (Sandbox Code Playgroud)


Kal*_*nda 5

只需要运行aws configure

aws configure
AWS Access Key ID [None]: "fakeMyKeyId"
AWS Secret Access Key [None]: "fakeSecretAccessKey"
Default region name [None]: x
Default output format [None]:
Run Code Online (Sandbox Code Playgroud)

在那之后。

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

{
   "TableNames": []
}
Run Code Online (Sandbox Code Playgroud)