Par*_*thy 0 python amazon-web-services python-3.x psql aws-lambda
我在 python 中编写了一个简单的 lambda 函数来从 AWS RDS 获取一些数据。PostgreSQL 是数据库引擎。
conn = psycopg2.connect(host=hostname, user=username, password=password, dbname=db_name, connect_timeout=50)
Run Code Online (Sandbox Code Playgroud)
我就是喜欢这个。但它没有用。总是返回这样的错误
响应:{“errorMessage”:“2018-06-06T11:28:53.775Z 任务在 3.00 秒后超时”}
我该如何解决这个问题??
很可能是超时,因为无法建立网络连接。
如果您想通过一个连接到数据库的公网IP地址,那么你的lambda函数应该不连接到VPC。相反,连接将从 Lambda 通过互联网进入 VPC 和 Amazon RDS 实例。
如果您希望通过私有 IP 地址连接到数据库,则您的 Lambda 函数应配置为使用与 Amazon RDS 实例相同的 VPC。
在这两种情况下,都应使用RDS 实例的DNS 名称建立连接,但它在 VPC 内部和外部的解析方式不同。
最后,与 Amazon RDS 实例关联的安全组需要允许传入连接。这也将根据请求是来自公共空间还是私人空间而有所不同。您可以通过打开安全组来进行测试0.0.0.0/0,如果有效,则尝试将其限制在可能的最小范围内。
| 归档时间: |
|
| 查看次数: |
1865 次 |
| 最近记录: |