2016-09-21 114 views
0

我在无服务器中有几个AWS Lambda函数,并且发现我一遍又一遍地编写了相同的sendEmail函数。只需设置客户端,并通过一些小的调整来编写SES响应。我决定最好把它抽象成一个被别人调用的函数。我的文件夹结构类似于:在AWS Lambda中无服务器部署通用函数包

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

我的问题是,如何从其他部署调用此电子邮件功能?在调用函数的serverless.yml文件(它已经具有适当的SES IAM权限)中包含一个完全合格的路径,或者需要使用触发器而不是事件调度需要它自己的serverless.yml文件?如果属于自己的部署,我甚至可以使用其他功能吗?显然,我更喜欢前者,但我很困惑它应该如何聚合在一起。

回答

0

的办法是打包所有的功能整合在一起(即具有serverless.yml文件仅在根目录),并用全路径像

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

此声明你的功能,将创建一个唯一的归档所有从根开始的目录结构。此时,您可以通过相对路径访问源文件,例如Commons

相关问题