我有一个需要在AWS Lambda上执行的python 3.6脚本。该脚本需要建立与RedShift的连接 - 通过psycopg2完成。
使用适当的兼容psycopg2版本创建了部署包。
建立连接时 - 即conn = psycopg2.connect(...) - ,脚本超时阈值范围从小到5秒到范围大到5分钟(在本地执行脚本时,它只需不到5秒钟)。
如果删除连接语句(即conn = psycopg2.connect(...)),脚本不会超时 - 即时生成成功提示。
如果有人遇到类似问题,我们非常感谢您的意见。
车轮不断旋转
答案 0 :(得分:0)
如果您的脚本在psycopg2.connect(...)调用上挂起,则不允许访问Postgres数据库实例,而不是与lambda函数关联的安全组。
检查与数据库关联的安全组,它应该有一个Ingress,它允许访问与lambda关联的安全组。
"DatabaseSecurityGroupIngress": [
{
"IpProtocol": "tcp",
"FromPort": "5432",
"ToPort": "5432",
"SourceSecurityGroupId": {
"Ref": "LambdaSecurityGroup"
}
]