Amazon dynamodb 无法连接到DynamoDB本地(无服务器框架)
我正试图在WSL中设置一个本地DynamoDB,用于测试lambda函数。serverless.yml文件如下所示:Amazon dynamodb 无法连接到DynamoDB本地(无服务器框架),amazon-dynamodb,serverless,amazon-dynamodb-local,Amazon Dynamodb,Serverless,Amazon Dynamodb Local,我正试图在WSL中设置一个本地DynamoDB,用于测试lambda函数。serverless.yml文件如下所示: service: my-service provider: name: aws runtime: nodejs10.x stage: dev region: eu-west-1 environment: STAGE: ${opt:stage, self:provider.stage} DYNAMODB_TABLE: ${self:serv
service: my-service
provider:
name: aws
runtime: nodejs10.x
stage: dev
region: eu-west-1
environment:
STAGE: ${opt:stage, self:provider.stage}
DYNAMODB_TABLE: ${self:service}-${opt:stage, self:provider.stage}
functions:
helloWorld:
handler: ./api/handler.helloWorld
events:
- http:
path: hello
method: get
cors: true
plugins:
- serverless-dynamodb-local
- serverless-offline
custom:
dynamodb:
start:
port: 8000
inMemory: false
migrate: false
dbPath: .
stages:
- dev
resources:
Resources:
ItemsDynamoDbTable:
Type: 'AWS::DynamoDB::Table'
DeletionPolicy: Retain
Properties:
AttributeDefinitions:
-
AttributeName: id
AttributeType: S
KeySchema:
-
AttributeName: id
KeyType: HASH
ProvisionedThroughput:
ReadCapacityUnits: 1
WriteCapacityUnits: 1
TableName: ${self:provider.environment.DYNAMODB_TABLE}
要启动本地服务器,我执行:
sls offline start
dynamodb.createTable(params, function(err, data) {
console.log("Response")
if (err) ppJson(err); // an error occurred
else ppJson(data); // successful response
});
DynaboDB本地服务器已启动,因为我可以在控制台中看到以下消息:
Dynamodb Local Started, Visit: http://localhost:8000/shell
我可以导航到web浏览器外壳。问题是我不能在那里执行任何命令。例如,如果我执行:
sls offline start
dynamodb.createTable(params, function(err, data) {
console.log("Response")
if (err) ppJson(err); // an error occurred
else ppJson(data); // successful response
});
我没有得到任何回应
如果我尝试使用sls dynamodb migrate迁移数据,或在serverless.yml文件中执行相同操作,我会收到以下消息:
NetworkingError: socket hang up
at connResetException (internal/errors.js:559:14)
at Socket.socketOnEnd (_http_client.js:440:23)
at Socket.emit (events.js:214:15)
at Socket.EventEmitter.emit (domain.js:476:20)
at endReadableNT (_stream_readable.js:1178:12)
at processTicksAndRejections (internal/process/task_queues.js:77:11)
你知道问题的根源吗
提前感谢这种错误通常发生在与数据库的连接在您的请求结束之前关闭时。最后是卡巴斯基的问题,它阻塞了dynamodb端口