问题描述
我有我的app.py函数,该函数正在使用sqlAlchemy等pip库...将其部署到AWS Lambda,因此我将app.py和所有其他依赖项打包到一个zip中。
解决方法
是的,我会给您一些替代方法,以解决您的每个问题:
-
种类繁多,您可以使用*框架(chalice / serverless)为您自动处理包装。每次部署将获取最新版本(根据您的
requirements.txt
)并打包。我建议您坚持使用框架。 -
Lambda Layer正是您需要的-多个lambda可以运行您的模块而不会产生开销(简单来说)。有很多参考资料说明了如何创建层以及有关python打包(您是必须评估将其上传到pypi的需要的人)
在两种情况下,serverless
都会为您提供很多帮助!
关于1-AWS SAM将计算出requirements.txt
并将所需的内容与代码捆绑在一起。对于小型项目,这很好用,但是对于大型项目,我建议采用与库代码相同的方式-将所有部门放在单独的层中。它可以与pip install -U --target dirname
一起安装,然后打包成一个层。