psycopg2 aws lambda超时错误

问题描述:

我有一个需要在AWS Lambda上执行的python 3.6脚本。该脚本需要建立与RedShift的连接 - 通过psycopg2完成。psycopg2 aws lambda超时错误

部署包已使用适当的兼容psycopg2版本创建。

当建立一个连接 - 即conn = psycopg2.connect(...) - 时,脚本超出阈值范围,范围从5秒到5分钟不等(在本地执行脚本时,它需要少于5秒)。

如果我删除连接语句(即conn = psycopg2.connect(...)),脚本不会超时 - 即时生成成功提示。

如果有人遇到类似的问题,您的意见将非常感激。

车轮保持纺纱

+1

欢迎来到Stack Overflow!寻求调试帮助的问题(“为什么这个代码不工作?”)必须包含所需的行为,特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者无益。请参阅:如何创建[mcve]。使用“编辑”链接来改善你的*问题* - 不要通过评论添加更多信息。谢谢! – GhostCat

+0

重复我想:https://*.com/questions/31809890/can-aws-lambda-connect-to-rds-mysql-database-and-update-the-database – Xire

如果你的脚本挂在psycopg2.connect(...)打电话,不是你的拉姆达功能相关联的安全组,不允许访问Postgres数据库实例。

检查与数据库关联的安全组,它应该有一个允许访问与您的lambda关联的安全组的Ingress。

 "DatabaseSecurityGroupIngress": [ 
     { 
     "IpProtocol": "tcp", 
     "FromPort": "5432", 
     "ToPort": "5432", 
     "SourceSecurityGroupId": { 
      "Ref": "LambdaSecurityGroup" 
     } 
     ]