【问题标题】:Serverless Deployment of Common Functions Package in AWS LambdaAWS Lambda 中常用函数包的无服务器部署
【发布时间】:2017-01-29 19:35:03
【问题描述】:

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

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

我的问题是,如何从其他部署中调用此电子邮件功能?是否像在调用函数的 serverless.yml 文件中包含完全限定的路径一样简单(该文件已经具有适当的 SES IAM 权限),还是需要它自己的 serverless.yml 文件和触发器而不是事件时间表?如果它属于自己的部署,我什至可以从其他功能中使用它吗?显然,我更喜欢前者,但我对它们应该如何组合在一起感到困惑。

【问题讨论】:

    标签: aws-lambda serverless-framework


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-10-07
      • 2020-06-07
      • 2019-03-15
      • 2019-02-24
      • 2020-10-08
      • 2021-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多