2016-09-21 3 views
0

У меня есть несколько функций AWMS Lambda в Serverless, и я обнаружил, что снова и снова писал одну и ту же функцию sendEmail. Просто настройте клиента и составьте ответ SES несколькими незначительными изменениями. Я решил, что лучше всего отвлечь это до одной функции, которая называется другими. Моя структура папок напоминает:Безсерверное развертывание общих функций Пакет в AWS Lambda

Serverless 
-----> Commons 
-----------> sendEmail.py 
-----> AlarmsManager 
---------> Alarm1.py 
---------> Alarm2.py 
---------> serverless.yml 
-----> BackupManager 
---------> Backup1.py 
---------> Backup2.py 
---------> serverless.yml 

Мой вопрос: как я могу назвать эту функцию электронной почты из других развертываний? Это так же просто, как включение в него полностью квалифицированного пути в файле serverless.yml вызывающей функции (который уже имеет соответствующие разрешения IES IES), или ему понадобится собственный файл serverless.yml с триггером вместо расписания событий ? Могу ли я использовать его из других функций, если он принадлежит к его собственному развертыванию? Очевидно, я бы предпочел первое, но я смущен тем, как все должно быть вместе.

ответ

0

Опцион будет упаковать все свои функции вместе (то есть с serverless.yml файлом на только корень) и объявить свои функции с полным путем, как

functions: 
    alarm1: 
    handler: AlarmsManager/Alarm1.handler 
    ... 
    alarm2: 
    handler: AlarmsManager/Alarm2.handler 
    ... 
    backup1: 
    handler: BackupManager/Backup1.handler 
    ... 

Это создаст уникальный архив со всеми своими начиная с root. На этом этапе вы можете просто получить доступ, скажем, к исходным файлам Commons через относительные пути.