寻找在Lambda内升级/降级的方法

问题描述 投票:0回答:1

我需要一种方法来升级/降级Lambda中我的Python 3.7环境中的boto3 lib。

现在,Lambda内的版本是1.9.42。我不能使用像Textract这样的东西(boto3.client('textract'),但我可以在我的本地机器上使用(boto3版本1.9.138)。

所以,我决定将boto3安装到一个包(pip3 install boto3 -t dir/ --system)中,然后在压缩后将其上传到Lambda。

这不起作用,因为Lambda不接受大于3MB的包(大约8MB)

还有其他解决方法吗?

编辑:我知道我总是可以编写有效的代码并继续将其上传到Lambda,但这将变得很麻烦,因为我必须包括安装在软件包中的所有软件包并在我进行更改时重建它。

python amazon-web-services amazon-s3 aws-lambda boto3
1个回答
1
投票

Serverless Application Model是AWS提供的工具,它允许您在本地开发,因为它模拟了docker容器内的lamdba环境。准备好之后,您可以将代码部署到lambda,它将按预期工作。

如果您真的想继续在Web平台上编辑代码,可以使用lambda layers进行解决。您创建一个包含所有依赖项的包,并将其上载到lambda层。然后在lambda中包含你的图层,然后在那里修改你自己的代码。正如评论中指出的那样,这不是实现真正发展的方法。

© www.soinside.com 2019 - 2024. All rights reserved.