小编piy*_*aga的帖子

psycopg2 不适用于 AWS Lambda 上的无服务器框架部署

我正在尝试使 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

6
推荐指数
1
解决办法
2726
查看次数

Redshift 列出所有架构名、表名和列名

我试图加入,information_schema.columns但发现无法做到,那pg_table_def就是等价的。

但它存在仅显示 中存在的模式的问题search_path,我怎样才能information_schema.columnspg_table_def

或者设置search_path到处搜索?

information-schema amazon-web-services amazon-redshift

2
推荐指数
1
解决办法
2681
查看次数