【问题标题】:AWS EventBridge Cron Timezone - Fire on Specific Local TimeAWS EventBridge Cron 时区 - 在特定本地时间触发
【发布时间】:2021-07-26 04:30:52
【问题描述】:

我们设置了一个 EventBridge 来触发一个 Lambda。它应该在当地时间每天上午 9:30 运行(在我的情况下为美国东部标准时间/美国东部时间)。问题是日期似乎是由 UTC 在 EventBridge 中设置的。有没有办法让它始终基于特定的时区? IE 上午 9:30,无论季节如何?

【问题讨论】:

  • 更准确地说,您希望它根据季节在不同时间触发,因为 DST 是对 UTC 的季节性调整。
  • @DanielFarrell - 是的,这是另一种说法。这是否可能,是主要问题。谢谢!

标签: amazon-web-services aws-event-bridge


【解决方案1】:

要么安排另一个事件来调整第一个事件,要么在 9:30 EST 和 9:30 EDT 都执行 lambda,让 lambda 确定应该运行哪个事件。

在当地时间凌晨 2 点和凌晨 3 点运行另一个 lambda,可以将第一个 lambda 的时间表调整为夏令时。您可以使用 lambda 语言的实现来决定是否需要调整事件。

您还可以安排原始 lambda 在夏令时调整时间和非调整时间运行(因此美国东部时间 14:30 UTC 和美国东部标准时间 13:30 UTC)。然后 lambda 可以根据日历检查决定是否是执行的适当时间。

我更喜欢第一个选项,因为它的职责分离更清晰。

【讨论】:

  • 谢谢,我希望 EventBridge 本身有一个条件,但我同意上述方法。感谢您抽出宝贵时间进行审核。
【解决方案2】:

很遗憾,您不能这样做,因为使用了only UTC time zone

所有安排的活动都使用 UTC 时区,安排的最小精度为 1 分钟。

您需要自定义解决方案来完成您想做的事情。例如,让 AWS EventBridge 触发一个 lambda 函数,该函数根据其 UTC 到本地时间的转换来评估应该触发的其他内容。

【讨论】:

  • 谢谢,我担心此时手动更新计划 2x/yr 似乎更容易。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-11
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多