首页 > 解决方案 > 如何在 serverless.yml 调度事件中添加多个目标

问题描述

我正在尝试从 Cloudwatch 事件调用多个 lambda,我不确定如何使用 serverless.yml 添加其他目标 lambda。下面的代码添加只添加一个目标,但我想要多个,从控制台我可以添加多个目标,我触发了不同的 Lambda

 - schedule:
          name: lambda-warmer-scheduler
          description: 'scheduler to warmup lambdas '
          rate: rate(2 minutes)

从控制台我可以添加多个目标,我们如何使用 yml 在此处输入图像描述

标签: amazon-web-servicesaws-lambdaserverless-framework

解决方案


编辑:
我现在明白你的目标是创建一个 lambda 加热系统。
您可以为此使用非常好的serverless-plugin-warmup。它完全按照您尝试实现的方式完成您想要实现的目标。


serverless.yml 中函数声明中的 events 属性是一个列表。您可以添加几个将触发 lambda 的事件:

functions:
  yourFunction:
    handler: yourFunction.handler
      events:
        - schedule:
              name: lambda-warmer-scheduler
              description: 'scheduler to warmup lambdas '
              rate: rate(2 minutes)
        - schedule:
              name: lambda-warmer-scheduler-2
              description: 'scheduler to warmup lambdas '
              rate: rate(5 minutes)
        - schedule:
              name: lambda-warmer-scheduler-3
              description: 'scheduler to warmup lambdas '
              rate: rate(5 hours)

events 属性上的每个项目都将创建一个事件(在此示例中仅调度,但您可以混合不同的事件源,如调度、http、流......)。


推荐阅读