【问题标题】:How to trigger a Lambda function at specific time in AWS?如何在 AWS 中的特定时间触发 Lambda 函数?
【发布时间】:2018-07-10 07:51:15
【问题描述】:

我知道 CloudWatch 重复事件可用于重复运行 Lambda。但有没有办法可以在特定时间触发它而不重复?

【问题讨论】:

  • 带有 cron 表达式的 Google AWS 调度程序。
  • 两种方式都可以设置。一个再见使用固定速率选项,另一个是 cron。您可以在 Cloudwatch > 规则 > 创建规则 下找到它

标签: amazon-web-services cron aws-lambda


【解决方案1】:

使用云监视规则 - 可以分配一个不重复的日期。

示例 cron : 0 10 16 6 ? 2019 最小小时 日 月 dayOfWeek 年

例如,这将在 2019 年 6 月 16 日星期日 10:00:00 GMT 执行一次。

参考: https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html

【讨论】:

  • 这正是我的用例所需要的。谢谢!
【解决方案2】:

您可以向它提供一个 cron 表达式或速率。您正在寻找的是 cron 表达式选项,它可以让您说出确切的运行时间。 更多信息 - https://docs.aws.amazon.com/lambda/latest/dg/tutorial-scheduled-events-schedule-expressions.html

如果您想手动运行一次,您始终可以使用页面顶部的“测试”按钮触发它。你真的可以在这里发挥创造力,例如,你甚至可以通过 http 请求触发它,这将允许你将它集成到任何你想要的东西,超级容易 (Invoke a AWS Lambda function by a http request)

【讨论】:

  • 虽然,不可能不重复一个cron,因为它可以每年重复一次,我正在使用它并管理规则的删除。
【解决方案3】:

您将需要使用 cloudwatch 事件规则。 Lambda 可以根据您提供的 cron 表达式从规则中触发。 This AWS tutorial 将引导您完成设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    相关资源
    最近更新 更多