Рекомендуемая структура проекта для многофункционального шаблона SAM

У меня есть новый проект, который требует относительно небольшого количества сервисов, может быть, 10 или меньше (и поэтому размещать каждый в отдельном репозитории проекта экономически нецелесообразно). Каждый сервис будет определен как AWS::Serverless::Function через шаблон SAM. Мой вопрос: каков рекомендуемый способ организации или структурирования такого проекта?

На данный момент структура такая:

|- src
    |- lambdas
        |- service-one
            |- stuff
            |- package.json
        |- service-two
            |- stuff
            |- package.json
    |- other-stuff
|- test
|- package.json

Есть ли способ избежать того, чтобы каждая лямбда действовала как отдельный подпроект с уникальными package.json и т. д.?


person Kwhitejr    schedule 15.07.2018    source источник
comment
Я думаю, вам не нужен отдельный package.json для каждого проекта, потому что все эти функции будут развернуты с sam package/sam deploy в одном запросе к asw cloudformation. Если вы узнаете новую информацию о лучших практиках для структуры проекта, пожалуйста, поделитесь ею в комментариях.   -  person GFB    schedule 16.07.2019


Ответы (1)


Я разработал структуру своего проекта, как показано ниже.

ProjectName
├── dependencies
│   └── package-pandas-requests.zip
├── deploy.sh
├── infrastructure
│   ├── packaged.yaml
│   └── template.yaml
└── src
    └── lambdas
        ├── lambdafunction1
        │   └── app.py
        ├── lambdafunction2
        │   └── app.py
        ├── lambdafunction3
        │   └── app.py

зависимости - это инфраструктура пакета слоев для файлов yaml платформы SAM. Надеюсь, это развеет ваши сомнения.

person Fronto    schedule 10.03.2020