在AWS Lambda函数内运行psycopg2的问题

时间:2017-09-01 10:32:56

标签: postgresql amazon-web-services aws-lambda psycopg2

尝试在AWS Lambda中运行psycopg2时出现以下错误:

/var/task/functions/../vendored/psycopg2/_psycopg.so: ELF file's phentsize not the expected size: ImportError
Traceback (most recent call last):
File "/var/task/functions/refresh_mv.py", line 64, in execute
session = SessionFactoryGraphQL.get_session(app=item['app'])
File "/var/task/lib/session_factory.py", line 22, in get_session
engine = create_engine(conn_string, poolclass=NullPool)
File "/var/task/functions/../vendored/sqlalchemy/engine/__init__.py", line 387, in create_engine
return strategy.create(*args, **kwargs)
File "/var/task/functions/../vendored/sqlalchemy/engine/strategies.py", line 80, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
File "/var/task/functions/../vendored/sqlalchemy/dialects/postgresql/psycopg2.py", line 554, in dbapi
import psycopg2
File "/var/task/functions/../vendored/psycopg2/__init__.py", line 50, in <module>
from psycopg2._psycopg import ( # noqa
ImportError: /var/task/functions/../vendored/psycopg2/_psycopg.so: ELF file's phentsize not the expected size

奇怪的是:一切都工作正常,直到昨天(超过5个月),并突然停止工作。没有库已更新。

我尝试从头开始构建,如https://github.com/jkehler/awslambda-psycopg2,但仍然有相同的错误。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

问题出在最新版本的无服务器框架中。我假设您使用无服务器来部署lambda函数。

serverless remove

npm install serverless@1.20.2 -g

这应该有用。

相关问题