0

我创建了一个 CodeStar 项目(以 Python Webservice 模板为起点),我正在使用 vscode 对其进行编辑。

到目前为止,我已经将生成的项目定制为具有两个 lambda。结构如下:

buildspec.yml
functions/lambda1
functions/lambda2
template-configuration.json
template.yml

它使用“sam local start-api”并使用 AWS 仪表板进行测试。

但是,除了在每个 lambda 上复制粘贴“.py”文件以用作模块之外,我没有设法在“lambda1”和“lambda2”之间重用代码。尝试编辑 requirements.txt 以指向带有 lib 的 git 存储库,但没有成功。

另一种尝试是尝试使用“Lambda Dashboard”添加一个“Layer”,最终重写了 lambda 代码。

说了这么多,关于如何在 CodeStar 项目中重用代码有什么建议吗?

4

1 回答 1

0

为了创建层,必须编辑 CodeStar 项目 Cloudformation 模板:

除了将相同的文件复制并粘贴到每个 lambda 之外,其他重用代码的方法是将其推迟到构建中。

具有如下文件夹结构:

your_project---- lambda1 -- lambda1_code.py
                 |
                 |--- lambda2 -- lambda2_code.py
                 |
                 ---- common_modules -- common_module.py

并修改构建脚本:

- cp ./common_modules/common_module.py ./lambda1/
- cp ./common_modules/common_module.py ./lambda2/ 
于 2019-04-12T16:32:49.203 回答