gpt4 book ai didi

amazon-web-services - docker AWS SAM本地未连接到docker dynamodb

转载 作者:行者123 更新时间:2023-12-03 08:29:34 30 4
gpt4 key购买 nike

因此,在生成 AWS SAM 模板“web-backend”lambda 后,我的函数不会连接到我的 dynamodb docker 实例。

这是我正在使用的 JavaScript 代码:

const docClient = new dynamoDb.DocumentClient({region: 'localhost', endpoint: 'http://127.0.0.1:8000/'});
const data = await docClient.scan(params).promise();

并在我的终端中运行:

sam local start-api --docker-network lambda-local

&

docker run -d -p 8000:8000 --network=lambda-local amazon/dynamodb-local

点击生成的端点http://127.0.0.1:3000/终端给出错误:

ERROR   Invoke Error    {"errorType":"NetworkingError","errorMessage":"connect ECONNREFUSED 127.0.0.1:8000","code":"NetworkingError","message":"connect ECONNREFUSED 127.0.0.1:8000","errno":"ECONNREFUSED","syscall":"connect","address":"127.0.0.1","port":8000,"region":"localhost","hostname":"localhost","retryable":true,"time":"2021-01-03T15:21:11.468Z","stack":["Error: connect ECONNREFUSED 127.0.0.1:8000","    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1144:16)"]}

如果我尝试通过 postman 访问 dynamodb,我会得到:

{
"__type": "com.amazonaws.dynamodb.v20120810#MissingAuthenticationToken",
"message": "Request must contain either a valid (registered) AWS access key ID or X.509 certificate."
}

所以 dynamodb 服务器正在运行,因为我可以通过 noSQL 工作台连接到它,但我的假设是 sam 本地 api 的 docker 容器看不到 dynamodb 的 docker 容器?

任何想法将不胜感激!谢谢。

最佳答案

我几乎可以向你保证这是 Docker 网络问题。当您有两个像这样的容器需要相互通信时,几乎总是如此。我建议您使用 Docker Compose,它会为您设置所有这些,而且要容易得多。 DynamoDB documentation gives you a template .

对于访问 ID 错误,您需要在运行 Postman 的位置运行 aws configure。 ID 等可以是任何内容,但必须填充一些内容。

关于amazon-web-services - docker AWS SAM本地未连接到docker dynamodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65551658/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com