【问题标题】:Scheduler with AWS Lambda API Proxy带有 AWS Lambda API 代理的调度程序
【发布时间】:2017-07-28 08:09:22
【问题描述】:

我正在使用 AWS Lambda 和 ServerLess 框架来使用 .net 核心构建调度程序应用程序 + API。

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

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

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

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

【问题讨论】:

标签: aws-lambda


【解决方案1】:

您可以通过在您的活动中添加schedule 在您的serverless.yml 中执行此操作。

文档: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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 感谢您的回复。我们无权访问 AWS 控制台。我们只需要从 serverless.yml 文件中管理它。
    猜你喜欢
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-30
    • 2019-08-11
    • 1970-01-01
    • 2017-05-27
    相关资源
    最近更新 更多