piy*_*aga 6 psycopg2 amazon-web-services docker aws-lambda serverless-framework
我正在尝试使 lambda 函数连接到 Redshift,并通过无服务器框架部署相同的函数。
无服务器.yml 配置:
pythonRequirements:
dockerizePip: non-linux
dockerFile: ./Dockerfile
Run Code Online (Sandbox Code Playgroud)
Dockerfile:
FROM lambci/lambda:build-python3.6
RUN yum install -y postgresql-devel postgresql-libs
Run Code Online (Sandbox Code Playgroud)
要求.txt
psycopg2==2.8.5
requests==2.22.0
boto3==1.9.234
Run Code Online (Sandbox Code Playgroud)
部署是通过以下方式完成的:
FROM lambci/lambda:build-python3.6
RUN yum install -y postgresql-devel postgresql-libs
Run Code Online (Sandbox Code Playgroud)
AWS Lambda 给出错误:
libpq.so.5: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我可以确认它丢失了,但是当我使用本地 docker 映像进行相同测试时,该文件存在。我仍然不确定如何serverless
实际部署该包
我不想使用psycopg2-binary
,而且我仍然不确定aws-psycopg2
,关于如何让代码运行有什么建议吗?
您可以尝试使用此模块代替默认模块(仅支持Python3.x)
https://pypi.org/project/aws-psycopg2/
虽然上面的内容没有得到积极维护,并且最大版本为psycopg2==2.8.4
,但它可以满足您可能拥有的用例。
如果您需要旧版 python 版本的支持,您还可以尝试从此处https://github.com/jkehler/awslambda-psycopg2压缩并上传包。
归档时间: |
|
查看次数: |
2726 次 |
最近记录: |