【发布时间】:2023-01-30 20:28:40
【问题描述】:
我有一个我不明白的问题。对于节点 18.13.0,我无法在本地使用 Dynamodb。
我总是收到此错误: "message": "UnknownEndpoint: Inaccessible host: localhost' at port 8005'。此服务可能在 `localhost' 区域不可用。", “类型”:0
但是对于节点 16 我没有问题。 这是我可以给你的所有信息,我在 Ventura 13.1(也在 windows 11)上的 mac(m1)上。
无服务器版本:
- 框架核心:3.27.0(本地)3.27.0(全局)
- 插件:6.2.3
- SDK:4.3.2
这是我的 serverless.yml:
service: hydradis-planning-delivery
provider:
name: aws
functions:
- '${file(routes.yml)}'
plugins:
- serverless-plugin-typescript
- serverless-offline
- serverless-dynamodb-local
custom:
dynamodb:
start:
port: 8005
serverless-offline:
httpPort: 3005
lambdaPort: 3015
这是我的连接:
var dynamoDbCreation = new AWS.DynamoDB({
region: 'localhost',
endpoint: ('http://localhost:8005')
});
你能帮助我吗?
【问题讨论】:
-
你启动 DynamoDB Local 了吗? netstat 或等价物是否显示它正在侦听端口 8005?
-
是的 DynamoDB 在本地运行
-
默认情况下,AWS Lambda node.18x 运行时不使用 AWS SDK 2.0。所以 DynamoDB 代码可能在那里出错了。您有 2 个选项,安装 2.0 aws sdk。或者重写代码支持3.0。 docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html
-
不知道为什么,昨天有个回复给出了答案。如果我用 127.0.0.1 替换区域字段中的本地主机,它就可以工作。无论如何感谢您提供的信息。
标签: node.js amazon-web-services amazon-dynamodb serverless