【问题标题】:psycopg2 aws lambda timeout errorpsycopg2 aws lambda超时错误
【发布时间】:2017-08-31 12:09:38
【问题描述】:

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

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

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

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

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

车轮不停地转动

【问题讨论】:

  • 欢迎来到 Stack Overflow!寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建 minimal reproducible example。使用“编辑”链接改进您的问题 - 不要通过 cmets 添加更多信息。谢谢!

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


【解决方案1】:

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

检查与数据库关联的安全组,它应该有一个 Ingress,它授予对与您的 lambda 关联的安全组的访问权限。

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

【讨论】:

    猜你喜欢
    • 2022-01-10
    • 2020-10-20
    • 1970-01-01
    • 2019-04-03
    • 2021-06-08
    • 2019-12-03
    • 2019-01-03
    • 2017-12-29
    相关资源
    最近更新 更多