我正在尝试通过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代码运行时,我没有任何问题-因此,我确定我的数据库已启动,我的代码有效,等等。
答案 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的更多信息。
希望这对您和其他人有帮助。