即使文档清楚地概述了用于为您的 lambda 函数手动创建 zip 工件的步骤。该解决方案的可扩展性不是很高。我一直在使用一个名为juniper的非常小的包来无缝打包 python lambda 函数。
在您的特定情况下,这是您需要采取的步骤:
假设这是您的文件夹结构:
.
├── manifest.yml
├── src
│ ├── requirements.txt
│ ├── lambda_function.py
在 requirements.txt 中,您将仅包含 lambda 函数的依赖项,在本例中为 PIL 库。
Pillow==6.0.0
现在,您只需创建一个小文件来告诉瞻博网络要在 zip 文件中包含哪些内容。manifest.yml 看起来像:
functions:
reko:
requirements: ./src/requirements.txt.
include:
- ./src/lambda_function.py
现在你需要pip install juniper
在你的本地环境中。执行cli命令:
juni build
瞻博网络将创建:./dist/reko.zip
. 该文件将包含您的源代码以及您在 requirements.txt 文件中包含的任何依赖项。
默认情况下,juniper 使用 docker 容器,构建命令将使用 python3.6。您可以覆盖该默认值。