【发布时间】:2020-07-07 15:03:08
【问题描述】:
我正在尝试使 lambda 函数连接到 Redshift,并通过无服务器框架进行部署。
serverless.yml 配置:
pythonRequirements:
dockerizePip: non-linux
dockerFile: ./Dockerfile
Dockerfile:
FROM lambci/lambda:build-python3.6
RUN yum install -y postgresql-devel postgresql-libs
requirements.txt
psycopg2==2.8.5
requests==2.22.0
boto3==1.9.234
部署通过:
sls deploy --function fn_name --force
AWS Lambda 报错:
libpq.so.5: cannot open shared object file: No such file or directory
我可以确认它丢失了,但是当我使用本地 docker 映像进行测试时,该文件存在。我仍然不确定serverless 是如何实际部署包的
我不想使用psycopg2-binary,我仍然不确定aws-psycopg2,有什么关于如何让代码运行的建议吗?
【问题讨论】:
-
docker 镜像与 lambda 环境不同。您需要手动将共享库文件
libpq.so.5包含在您的serverless.yml中。 -
@jellycsc 你是怎么做到的?
标签: amazon-web-services docker aws-lambda psycopg2 serverless-framework