我需要一种方法来升级/降级Lambda内的Python 3.7 env中的boto3
库。
现在,Lambda内部的版本为1.9.42。我无法使用诸如Textract(boto3.client('textract')
之类的某些功能,但可以在本地计算机上使用(boto3版本1.9.138。
因此,我决定将boto3安装到软件包(pip3 install boto3 -t dir/ --system
)中,然后将其压缩后上传到Lambda。
这不起作用,因为Lambda不会接受大于3MB(大约8MB)的软件包
还有其他解决方法吗?
edit:我知道我总是可以编写可以正常工作的代码并将其继续上传到Lambda,但这会变得很麻烦,因为我必须将所有安装的软件包都包含在软件包中,并在进行更改时对其进行重建。< / p>
答案 0 :(得分:1)
Serverless Application Model是AWS提供的工具,可用于在docker容器中模拟lamdba环境时在本地进行开发。准备就绪后,您可以将代码部署到lambda,它将按预期工作。
如果您真的想继续在Web平台上编辑代码,则可以使用lambda layers来解决。您将创建一个具有所有依赖项的程序包,并将其上载到lambda层。然后将您的图层包括在lambda中,然后在此处修改您自己的代码。正如评论中指出的那样,这不是真正的发展之路。