【问题标题】:Need Cloudwatch rule (scheduled one) that runs only once需要只运行一次的 Cloudwatch 规则(预定一个)
【发布时间】:2021-03-02 21:17:26
【问题描述】:

我了解 AWS Cloudwatch Scheduled Rules(Amazon EventBridge 规则),它通过定义 CRON 表达式来工作。

文档提到了在给定时间重复触发的规则。例如,每 15 分钟运行一次 Cloudwatch 规则等等。

我想要的是一个只运行一次的规则。有什么方法可以实现吗?例如,从现在开始 1 小时后运行一个规则,此后它就不再运行。

有什么办法吗?

PS:我也检查了基于事件的规则,但我没有任何可以触发规则的事件。

【问题讨论】:

  • 您可以让您的代码创建一个每小时运行一次的 cloudwatch 规则,然后在第一次触发时再次删除该规则。
  • 该规则的实际目标是什么?如果是一次,也许我们可以直接触发那个目标而不是有一个规则?

标签: amazon-web-services cron amazon-cloudwatch


【解决方案1】:

您可以在 CloudWatch Events(或 EventBridge)中使用仅指定一个时间点的 CRON 表达式,而无需在 CRON 表达式中使用通配符/重复。

例如,从现在开始 1 小时后运行一条规则,此后它就不再运行。

虽然您不能在 CRON 表达式中直接表达“从现在开始一小时”,但您可以构建一个指定绝对时间点的 CRON 表达式,例如:

cron(0 15 2 3 ? 2021)

如果今天是 2021 年 3 月 2 日 14:00 点。所以,这是您用来表示“一小时后”的 CRON 表达式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    • 2020-03-05
    相关资源
    最近更新 更多