我尝试使用pycrypto和lambda服务,但每次运行我的脚本lambda服务都返回:
无法导入模块' service':/var/task/Crypto/Cipher/_AES.so: 无效的ELF标题
如果有人遇到同样的问题,我不知道为什么会发生,请帮助我。
谢谢大家。
答案 0 :(得分:0)
我遇到了同样的问题,不得不在Linux VM上构建我的可部署zip。
作为此comments中的alex-luminul issue,可能是由于OSX兼容的共享库_AES.so被发送到Lambda,Lambda需要Linux兼容的共享库。
答案 1 :(得分:0)
有些人预先编译了一些python包,以便在AWS Lambda中使用。例如,pip包lambda_packages和名为awslambda-pycrypto的GitHub存储库。
我选择了后者,因为我在我的函数中只需要PyCrypto。为了使用它,我下载了awslambda-pycrypto存储库,然后将文件放在名为“modules”的目录中,然后我加载了代码:
import sys
sys.path.insert(0, "./modules")
from Crypto.Cipher import AES
然后,您必须压缩包含您的功能的目录并将其上传到Lambda。