AWS Lambda中的无服务器部署公共功能包

时间:2016-09-21 13:47:47

标签: aws-lambda serverless-framework

我在Serverless中有几个AWS Lambda函数,发现我一遍又一遍地编写相同的sendEmail函数。只需设置客户端并通过一些小的调整来编写SES响应。我决定将其抽象为由其他人调用的单个函数。我的文件夹结构类似于:

<script>

    @{
        var count = !ViewBag.IsFirstTime ? Model.Count : -1;
     };
    var records = @count;
    if (records == 0) {
        fun_toastr_notify('success', 'No Records Found');
    }
</script>

我的问题是,如何从其他部署中调用此电子邮件功能?它是否像在调用函数的serverless.yml文件(已经具有正确的SES IAM权限)中包含一个完全限定的路径一样简单,或者这需要它自己的serverless.yml文件而不是触发器活动安排?如果它属于自己的部署,我是否可以从其他功能中使用它?显然,我更喜欢前者,但我对如何将它们聚集在一起感到困惑。

1 个答案:

答案 0 :(得分:0)

一个选项是将所有函数打包在一起(仅在根目录下使用serverless.yml文件)并使用完整路径声明函数,如

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

这将创建一个唯一的存档,其所有目录结构都从root开始。此时,您可以通过相对路径访问您的Commons源文件。