Как повторно использовать код в проекте CodeStar?

Я создал проект CodeStar (шаблон Python Webservice в качестве отправной точки) и использую vscode для его редактирования.

Пока что я настроил сгенерированный проект так, чтобы он содержал две лямбды. Структура следующая:

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

Он работает с использованием «sam local start-api» и путем тестирования с помощью панели управления AWS.

Однако мне не удалось повторно использовать код между «лямбда1» и «лямбда2», кроме как скопировать и вставить файлы «.py» в каждую лямбду, которая будет использоваться в качестве модулей. Пытался отредактировать файл requirements.txt, чтобы указать на репозиторий git с библиотекой, но безуспешно.

Еще одна попытка заключалась в том, чтобы попытаться добавить «слой» с помощью «Lambda Dashboard», что закончилось переписыванием лямбда-кода.

С учетом всего сказанного, есть ли предложения о том, как повторно использовать код в проекте CodeStar?


person Robson de Paula    schedule 14.02.2019    source источник


Ответы (1)


Для создания слоев необходимо отредактировать шаблон Cloudformation проекта CodeStar:

Другие способы повторного использования кода, кроме копирования и вставки одних и тех же файлов в каждую лямбду, - это отложить это до сборки.

Имея такую ​​структуру папок, как:

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/ 
person Robson de Paula    schedule 12.04.2019