【问题标题】:Build and use local package for AWS Lambda using serverless framework使用无服务器框架为 AWS Lambda 构建和使用本地包
【发布时间】:2021-10-06 00:43:32
【问题描述】:
我正在尝试打包一个本地 python 包¹并在通过无服务器框架部署的 AWS lambda 中使用它。我已经使用 serverless-python-requirements 插件将 pip 依赖添加到部署的包中。
我该如何继续?
我要创建一个包并压缩它吗?或者生成一个whl文件并使用pip?那么,如何部署呢?
¹:我不能只将它添加到“普通代码库”中,因为我想与其他积木(例如胶水作业)共享它
【问题讨论】:
标签:
python
amazon-web-services
aws-lambda
package
serverless-framework
【解决方案1】:
解决方法如下:
1.
构建一个.whl文件对应的包使用
python setup.py bdist_wheel
在父目录中。
2.
将此.whl 文件的相对路径添加到使用的pip 需求文件(例如requirements.txt):
req0==1.0.9
req1==5.5.0
../<relative path to local package>/dist/<package name>-<version>-<details>.whl # generated .whl file's name
3.
serverless-python-requirements 将在执行sls deploy 时自动将此依赖项打包到已部署的存档中。太酷了,呵呵!