我在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文件而不是触发器活动安排?如果它属于自己的部署,我是否可以从其他功能中使用它?显然,我更喜欢前者,但我对如何将它们聚集在一起感到困惑。
答案 0 :(得分:0)
一个选项是将所有函数打包在一起(仅在根目录下使用serverless.yml
文件)并使用完整路径声明函数,如
functions:
alarm1:
handler: AlarmsManager/Alarm1.handler
...
alarm2:
handler: AlarmsManager/Alarm2.handler
...
backup1:
handler: BackupManager/Backup1.handler
...
这将创建一个唯一的存档,其所有目录结构都从root开始。此时,您可以通过相对路径访问您的Commons
源文件。