【问题标题】:AWS Cloudwatch event rule: Start and stop timeAWS Cloudwatch 事件规则:开始和停止时间
【发布时间】:2020-09-24 11:01:24
【问题描述】:

是否可以设置cloudwatch事件规则的开始和停止时间? 用例 - 我想创建一个触发 lambda 的规则,但我希望它在特定日期(每 2 分钟)运行并在另一个日期禁用它(这些日期间隔可以跨越几个月)。

据我所知,当我们创建规则(rate(2 分钟))时,它会立即开始运行。我可以使用这种方法,在 lambda 中我可以检查当前日期是否与目标日期相同并继续执行 lambda,并在当前日期大于结束日期时禁用规则。虽然,它可能有效,但它似乎不是正确的方法,因为 lambda 会在目标日期之前不必要地执行。

有没有什么方法可以在没有 hack 的情况下实现相同的目标?

【问题讨论】:

    标签: amazon-web-services amazon-cloudwatch


    【解决方案1】:

    是的,您只能将其设置为特定日期。例如,以下规则 0/2 0 28 9 ? 2020 将每 2 分钟28 Sep 2020 上执行一次:

    更新

    要跨越几个月,我认为您需要单独的规则。例如,您可以定义两个规则以跨越从 9 月 28 日到 10 月 5 日结束的日期范围:0/2 0 28-31 9 ? 20200/2 0 1-5 10 ? 2020

    【讨论】:

    • 如果我想在 9 月 28 日开始工作并想在 10 月 5 日停止工作怎么办?我试过这个 cron 表达式 (0 0/24 28-5 9-10 ? 2020) 但它也给出了下个月的以下触发器日期 [Wed, 28 Oct 2020 00:00:00 GMT Thu, 29 Oct 2020 00:00:00 GMT Fri, 30 Oct 2020 00:00:00 GMT Sat, 31 Oct 2020 00:00:00 GMT] 是否可以在 5 日停止触发器并且不再有后续触发器?
    • @TA-您能否编辑您的问题并准确说明您的要求?正如现在所写的那样,它表明您只想要一天“特定日期(每 2 分钟)并在该特定日期结束时禁用它。”,而不是日期范围或不同日期的某种组合。在最坏的情况下,您可以为不同的日期创建一些规则。
    • 更新了我的问题
    • @TA- 我认为你不能跨越几个月。我更新了答案。您需要定义两个规则以跨越两个月的日期范围,例如9 月 28 日开始,10 月 15 日结束:0/2 0 28-31 9 ? 20200/2 0 1-15 10 ? 2020
    猜你喜欢
    • 2019-07-15
    • 2020-09-20
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    相关资源
    最近更新 更多