AWS Lambda连接到Docker中的本地Postgres

时间:2019-10-09 04:39:10

标签: aws-lambda

我正在尝试通过Lambda函数连接到作为Docker容器运行的本地Postgres服务器。

我正在使用sam local invoke呼叫。

由于某种原因,似乎已禁用了SAM的docker容器中用于该功能的传出连接。

我收到此错误消息:

"errorMessage": "(psycopg2.OperationalError) could not connect to server: Connection refused\n\tIs the server running on host \"localhost\" (127.0.0.1) and accepting\n\tTCP/IP connections on port 5432?\ncould not connect to server: Cannot assign requested address\n\tIs the server running on host \"localhost\" (::1) and accepting\n\tTCP/IP connections on port 5432?\n\n(Background on this error at: http://sqlalche.me/e/e3q8)",

是否可以启用对本地泊坞数据库的Lambda函数调用?

在Lambda函数外部将连接代码作为标准Python代码运行时,我没有任何问题-因此,我确定我的数据库已启动,我的代码有效,等等。

1 个答案:

答案 0 :(得分:1)

尝试根据AWS SAM CLI documentation—docker-network TEXT运行命令。

我在尝试使用本地Docker Postgres数据库运行sam local start-api时遇到类似的问题,并且遇到connection refused错误。我运行了sam local start-api —docker-network host,它解决了问题。

这是一篇很好的文章,它帮助我了解了关于Docker networks的更多信息。

希望这对您和其他人有帮助。