Ubuntu本地运行DynamoDB无AWS账户报错咨询
不用AWS账户也能本地运行DynamoDB!解决凭证报错问题
你完全可以在没有AWS账户的情况下本地测试DynamoDB,这个报错只是AWS CLI的默认行为在搞鬼——DynamoDB Local本身根本不验证凭证的有效性,只是CLI需要你提供任意格式的凭证值而已,不用是真实的AWS密钥。
下面给你几个快速解决的方法:
方法1:临时在命令中指定凭证
直接在aws命令后面加上任意的访问密钥参数,比如:
aws dynamodb list-tables --endpoint-url http://localhost:8000 --access-key-id dummy --secret-access-key dummy
这里的dummy可以换成任何字符串,DynamoDB Local不会去校验它是不是真实有效的AWS密钥。
方法2:配置专属的本地AWS Profile(持久化方案)
如果不想每次都加参数,可以配置一个专门用于本地DynamoDB的profile:
- 运行命令:
aws configure --profile dynamodb-local - 接下来会提示你输入信息,全部填任意值就行:
- Access Key ID:随便输,比如
local-test - Secret Access Key:随便输,比如
local-secret - Default region name:随便选一个,比如
us-east-1(本地DynamoDB不关心区域,但CLI需要这个值) - Default output format:直接回车留空或者选
json
- Access Key ID:随便输,比如
- 之后每次运行命令时加上
--profile dynamodb-local即可:aws dynamodb list-tables --endpoint-url http://localhost:8000 --profile dynamodb-local
方法3:通过环境变量临时覆盖凭证
在终端里先设置两个环境变量,之后的命令就不会再报错了:
export AWS_ACCESS_KEY_ID=dummy export AWS_SECRET_ACCESS_KEY=dummy
这个设置只在当前终端会话有效,关闭终端后会失效。
额外说明
DynamoDB Local是完全离线运行的,所有数据默认存在内存中(重启就消失),你也可以通过配置让数据持久化到本地文件。它不需要和AWS云端服务器有任何交互,所以绝对不需要真实的AWS账户,放心测试就好!
内容的提问来源于stack exchange,提问作者Anna K
相关产品推荐
相关产品推荐

