【问题标题】:Package user python dependencies for AWS lambda为 AWS lambda 打包用户 python 依赖项
【发布时间】:2020-06-05 05:16:23
【问题描述】:

问题

我在项目之间共享本地 Python 文件。它们的目录在 PYTHONPATH 中设置。

在将 Python lambda 包部署到 AWS 时,我喜欢使用一个命令将所有这些文件(除了相关的 AWS SDK 包)复制到打包目录中,然后将它们压缩。

lib
└── py
    ├── aws
    │   ├── dynamo          <--- In PYTHONPATH
    │   └── ec2             <--- In PYTHONPATH
    ├── common              <--- In PYTHONPATH
    │   └── crypt.py    
    │   └── http.py    
    │   └── log.py    
    └── elasticsearch       <--- In PYTHONPATH

有什么好的方法?

【问题讨论】:

    标签: python packaging


    【解决方案1】:

    我认为你需要zappa

    首先创建一个虚拟环境并将所有依赖项安装/添加到该环境。

    安装zappa 并配置一些设置。然后,您可以使用 zappa 使用单个命令将整个代码部署到 Lambda。您可以根据需要多次重新部署。

    Zappa 是一个开源库,让在 Lambda 上的部署变得轻而易举。

    通常,部署包括将虚拟环境打包为 zip、将 zip 文件上传到 S3 存储桶、配置 Lambda 函数并将其附加到 API 网关。

    Zappa 在幕后完成了所有这些工作。它适用于 Flask、Django 和其他 WSGI 框架。

    您可以按照这篇 Medium 文章中的步骤进行操作 -

    https://medium.com/better-programming/a-5-minute-guide-to-python-apis-on-aws-lambda-d359630fe743

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-25
      • 1970-01-01
      • 2019-01-11
      • 2018-12-15
      • 1970-01-01
      • 2019-03-19
      • 2019-08-23
      • 1970-01-01
      相关资源
      最近更新 更多