我打算在本地测试我的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,
});

08-07 23:36