python - psycopg2 aws lambda超时错误

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

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

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

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

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

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

轮子一直在旋转

最佳答案

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

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

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

关于python - psycopg2 aws lambda超时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45981140/

相关文章:

Qt C++11 lambda : Is this connect (signal-slot) correct?

Python根据预定义的映射递归地转换dict

python - Emacs 中的 bpython

python - 将具有重复键的 Pandas DataFrame 转换为字典

python - 如何使用 Apache-Spark 在 AWS 集群上运行代码?

amazon-web-services - 如何查看弹性beanstalk实例的公共(public)IP地址以将mongodb图集列入白名单

python - 在Python中的pandas数据框中使用lambda函数使用多种文本格式?

python - 从 Python 中的字典列表创建 JSON

django - 我可以使用哪些命令/配置来使用 ecs-cli 部署 django+postgres+nginx?

c++ - "static char __ = []() -> char"的含义