python - 是否可以在 AWS Lambda 函数之间共享一段代码?
问题描述
我正在使用 AWS Lambda 设计一个无服务器应用程序。以某种方式处理请求的函数中有一段代码。我将创建另一个函数,以相同的方式对请求数据进行相同的处理。
问题是,如果我更改其中一个 Lambda 函数中的处理函数,我将不得不复制该函数并将其粘贴到另一个 Lambda 函数中。每次我做出改变时,我都必须这样做。如果我想在两个以上的 Lambda 函数中执行相同的处理函数,这将更加麻烦。
有没有办法在 Lambda 函数之间共享代码片段,所以我可以尊重 DRY 原则?谢谢。
解决方案
现在您可以使用层在您的函数之间共享库和代码。
可以在一层上建立多个功能。
您可以为层创建一个 zip 文件,其方式与为函数创建一个几乎相同。唯一的事情是所有常见的包都进入python/lib/python3.7/site-packages
zip 内的目录,而你的所有代码都进入python
目录。
所以如果你有这样的文件结构:
bundle.zip/
python/
common/
__init__.py
lib.py
然后从您的 Lambda 函数的代码中,您可以像这样引用它:
from common.lib import ...
推荐阅读
- gradle - kotlin + gradle+ intellij - 没有定义存储库
- reactjs - 为 React 安装 Styled Components 时出错
- r - 图例中的平方形状点变化 - ggplot R
- python - 与python的串行通信
- json - 在 Angular Material Table 上显示嵌套的 JSON 数据
- python - Pandas 多索引数据透视表日期格式随排序和精度损失而变化
- seaborn - catplot seaborn中y变量的随机样本
- r - 如何在R中一次更正拼写错误列表
- mysql - 如何通过 Inner Join 使用 Distinct OR Group by?
- swift - 如何找到 Xcode 文件?