python - 如何在无服务器框架中将外部 python 模块导入 AWS Lambda 函数?
问题描述
root
- module_1
- utils.py
- module_2
- handler.py (Lambda Function) (Requires functions from utils.py)
- serverless.yml
- module_3
- handler.py (Lambda Function)
- serverless.yml
如何导入 utils.py 中的类和方法,位于完全不同的目录中?
解决方案
如您所知,无服务器框架会压缩其所在目录中的所有内容并将其部署到云中。但是我们的 Lambda 使用来自完全不同目录的函数和类,所以当我们部署函数时,它不包含这些文件。
我们怎样才能做到这一点?
好吧,我们可以复制该模块并将其粘贴到该 Lambda 函数目录中,以便在部署 Lambda 时包含它。
这是不可行的,假设当 10 个不同的 Lambda 模块需要该模块时
root
- module_1
- utils.py
- module_2
- handler.py (Lambda Function) (Requires functions from utils.py)
- serverless.yml
.
.
.
- module_10
- handler.py (Lambda Function) (Requires functions from utils.py)
- serverless.yml
utils.py 中的单个更改,必须在 10 个不同的地方进行,呃....
不用担心,无服务器有一个插件可以帮助您
serverless-package-external
该插件将帮助您解决问题。祝你有美好的一天!
推荐阅读
- java - 线程“主”java.lang.IllegalArgumentException中的scala vscode异常:名称
- python - 使用 Tensorflow 2 输入管道分离 trainX 和 trainY 进行多损失训练
- pandas - 如何将新文件添加到数据框
- angular - 错误:ENOENT:在 Angular 中将文件扩展名从 .sass 更改为 .scss 后没有这样的文件或目录
- java - Azure-SQL:是否可以使用带有 TLS 1.2 的 jTDS 连接到 Azure SQL Server?
- visual-studio-code - 如何让我的 vscode 字体像 sublime 一样倾斜?
- haproxy - 如果存在具有值的标头,则路由到特定后端
- javascript - 每月供款的复利计算器
- java - 从java中的arraylist中删除对象
- c# - 测试用例在空断言上失败