我打算在本地测试我的AWS资源。我发现一个非常不错的docker镜像,其中几乎包含所有可用的服务,并且可以用于本地测试。 DynamoDB的服务之一不起作用。这也是我的应用程序。
我在Google上搜索了很多,但找不到根本原因。根据我的docker容器日志。以下是日志。
docker run -it -p 4567-4578:4567-4578 -p 8080:8080 localstack/localstack
2018-07-30T12:49:17:ERROR:localstack.services.generic_proxy: Error forwarding request: expected string or buffer Traceback (most recent call last): File "/opt/code/localstack/localstack/services/generic_proxy.py", line 181, in forward path=path, data=data, headers=forward_headers) File "/opt/code/localstack/localstack/services/dynamodb/dynamodb_listener.py", line 35, in forward_request TypeError: expected string or buffer
最佳答案
我认为您使用的端口错误。答案可以在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,
});
关于amazon-web-services - 本地堆栈DynamoDB无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51594403/