如何在AWS Lambda中使用Python自定义包

如何在AWS Lambda中使用Python自定义包,python,aws-lambda,pip,python-module,Python,Aws Lambda,Pip,Python Module,我有我的app.py函数,它使用pip库,比如SQLAlchemy,等等。。。我正在将其部署到AWS Lambda,因此我正在将app.py和所有其他依赖项打包到一个zip中 有没有更好的办法来解决这个问题?(如果pip库过时怎么办) 我有一个自定义代码,我想在许多程序中使用。如何创建自己的模块并将其与pip库一起打包 是的,我将为你的每个问题提供一些备选方案: 在某种程度上,您可以使用*框架(/)为您自动处理打包。每次部署都会获取最新版本(根据您的requirements.txt),然后为您打

我有我的app.py函数,它使用pip库,比如SQLAlchemy,等等。。。我正在将其部署到AWS Lambda,因此我正在将app.py和所有其他依赖项打包到一个zip中

  • 有没有更好的办法来解决这个问题?(如果pip库过时怎么办)
  • 我有一个自定义代码,我想在许多程序中使用。如何创建自己的模块并将其与pip库一起打包

  • 是的,我将为你的每个问题提供一些备选方案:

  • 在某种程度上,您可以使用*框架(/)为您自动处理打包。每次部署都会获取最新版本(根据您的
    requirements.txt
    ),然后为您打包。我建议您坚持使用框架

  • 一个Lambda正是您所需要的-多个Lambda将能够在没有开销的情况下运行您的模块(简单地说)。有很多关于如何创建层以及python打包的参考资料(您必须评估是否需要将其上载到pypi)


  • 在这两种情况下,
    serverless
    将为您带来很大帮助

    关于1-AWS SAM将制定您的
    requirements.txt
    ,并将所需内容与您的代码捆绑在一起。这对于小项目很好,但对于较大的项目,我建议使用与库代码相同的方法—将所有DEP放在单独的层中。它可以与
    pip install-U--target dirname一起安装,然后打包到一个层中。

    这将有助于: