使用无服务器框架为 AWS Lambda 构建和使用本地包

Build and use local package for AWS Lambda using serverless framework

我正在尝试打包本地 python 程序包¹ 并在通过无服务器框架部署的 AWS lambda 中使用它。我已经使用 serverless-python-requirements 插件将 pip 依赖项添加到已部署的包中。

我该如何继续?

我要创建一个包并压缩它吗?或者生成一个whl文件并使用pip?然后,如何部署呢?


¹:我不能只将它添加到“普通代码库”,因为我想与其他积木共享它(例如 Glue 作业)

解决方法如下:

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 时自动将此依赖项打包到已部署的存档中。多酷啊,嗯!