我正在尝试使 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,关于如何让代码运行有什么建议吗?
psycopg2 amazon-web-services docker aws-lambda serverless-framework
我试图加入,information_schema.columns但发现无法做到,那pg_table_def就是等价的。
但它存在仅显示 中存在的模式的问题search_path,我怎样才能information_schema.columns从pg_table_def
或者设置search_path到处搜索?