使用AWS Lambda API代理的调度程序

时间:2017-07-28 08:09:22

标签: aws-lambda

我正在使用带有ServerLess框架的AWS Lambda来使用.net核心构建Scheduler Application + API。

我创建了一个Web API Controller和一个执行事务处理并返回结果的方法。当我使用API​​端点访问我的方法时,一切正常。

现在我想为同一个方法设置调度程序,使其每5个小时执行一次 我在serverless.yml文件中添加了以下行:

functions:
  mvc:
    handler: TestApplication::TestApplication.src.Infrastructure.EntryPoints.LambdaMvcEntryPoint::FunctionHandlerAsync
    events:
      - http:
          path: "/{proxy+}"
          method: "ANY"

有没有人知道如何使用代理API案例设置调度程序?

2 个答案:

答案 0 :(得分:1)

您可以在serverless.yml中通过在活动中添加schedule来实现这一目标。

文档:https://serverless.com/framework/docs/providers/aws/events/schedule/

基本上,您的serverless.yml看起来像这样......

functions:
  mvc:
    handler: TestApplication::TestApplication.src.Infrastructure.EntryPoints.LambdaMvcEntryPoint::FunctionHandlerAsync
    events:
      - http:
          path: "/{proxy+}"
          method: "ANY"
      - schedule:
          rate: rate(5 hours)
          enabled: true

答案 1 :(得分:0)

在您的方案中,您可以在AWS cloudwatch中设置表达式,并将lambda函数指向该cloudwatch。

转到AWS控制台 - >点击lambda函数 - >点击触发器 - >添加触发器 - >选择aws cloudwatch - >设定表达