psycopg2 aws lambda超时错误

时间:2017-08-31 12:09:38

标签: python amazon-web-services lambda amazon-redshift psycopg2

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

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

建立连接时 - 即conn = psycopg2.connect(...) - ,脚本超时阈值范围从小到5秒到范围大到5分钟(在本地执行脚本时,它只需不到5秒钟)。

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

如果有人遇到类似问题,我们非常感谢您的意见。

车轮不断旋转

1 个答案:

答案 0 :(得分:0)

如果您的脚本在psycopg2.connect(...)调用上挂起,则不允许访问Postgres数据库实例,而不是与lambda函数关联的安全组。

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

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