Как повторно использовать код в проекте CodeStar? - PullRequest
0 голосов
/ 14 февраля 2019

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

До сих пор я настроил сгенерированный проект для двух лямбд.Структура выглядит следующим образом:

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

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

Однако мне не удалось повторно использовать код между "lambda1 "и" lambda2 ", кроме копирования и вставки файлов" .py "на каждую лямбду, которая будет использоваться в качестве модулей.Попытался отредактировать файл require.txt, чтобы он указывал на git-репозиторий с lib, но безуспешно.

Другая попытка была попытаться добавить «Слой» с помощью «Лямбда-дашборд», который в итоге переписал лямбда-код.

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

1 Ответ

0 голосов
/ 12 апреля 2019

Чтобы создать слои, необходимо отредактировать шаблон 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/ 
...