如何在 CodeStar 项目中重用代码?

How to re-use code in a CodeStar project?

我创建了一个 CodeStar 项目(Python Web 服务模板作为起点),我正在使用 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 项目中重用代码有什么建议吗?

为了创建图层,必须编辑 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/