AWS Lambda:如何使用Pillow库?

Mat*_*IRE 7 python-2.7 pillow aws-lambda

我正在尝试创建AWS lambda函数,以便创建上传图像的缩略图.我的脚本在本地运行良好,我按照本教程部署我的函数但是我的Pillow库有问题,实际上当我测试我的函数时,我可以看到以下日志:

在此输入图像描述

我发现这个帖子有同样的问题,但在我的情况下,我无法在机器上执行命令行.

Leo*_*eon 6

您必须libjpeg.so在lambda包中包含它,但它还需要使用patchelf实用程序进行一些调整.假设您通过" pip install module-name -t "(而不是via virtualenv)准备lambda包,请执行以下操作:

cd into/your/local/lambda/package/dir
cp -L $(ldd PIL/_imaging.so|grep libjpeg|awk '{print $3}') PIL/
patchelf --set-rpath PIL PIL/_imaging.so
# zip, deploy and test the package
Run Code Online (Sandbox Code Playgroud)

此脚本适用于Pillow 3.2.0版.

关于patchelf:在Ubuntu下它可以'apt install'编辑,但在其他Linux下它可能需要从源代码构建.