我已经创建了一个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项目中如何重用代码有何建议?
答案 0 :(得分: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/