我打算在本地测试我的AWS资源。我发现一个非常不错的docker镜像,其中几乎包含所有可用的服务,并且可以用于本地测试。 DynamoDB的服务之一不起作用。这也是我的应用程序。
我在Google上搜索了很多,但找不到根本原因。根据我的docker容器日志。以下是日志。
docker run -it -p 4567-4578:4567-4578 -p 8080:8080 localstack/localstack
最佳答案
我认为您使用的端口错误。答案可以在localstack的问题列表中找到:https://github.com/localstack/localstack/issues/675
本地堆栈中DynamoDB的GUI在端口4564上运行。运行以下命令,然后您可以在localhost:4564 / shell上访问GUI
docker run -d -p 4569:4569 -p 4564:4564 localstack/localstack:latest
连接码
const dynamoose = require('dynamoose');
const AWS = require('aws-sdk');
dynamoose.local('http://localhost:4569');
dynamoose.AWS.config.update({
region: 'us-east-1',
});
const Purchase = dynamoose.model('test', {
test: {
type: String,
hashKey: true,
}
}, {
update: true,
});