我创建了一个CodeStar项目(Python Web服务模板作为起点),我正在使用vscode进行编辑。
到目前为止,我已经将生成的项目定制为具有两个lambdas。结构如下:
buildspec.yml
functions/lambda1
functions/lambda2
template-configuration.json
template.yml
它使用“sam local start-api”并使用AWS仪表板进行测试。
但是,我没有设法在“lambda1”和“lambda2”之间重复使用代码,而不是在每个lambda上复制粘贴“.py”文件以用作模块。尝试编辑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/