AWS Cloudwatch事件 - 如何触发不同的时区?

时间:2017-02-07 01:05:27

标签: amazon-web-services timezone aws-lambda amazon-cloudwatch

我有一堆AWS Lambda函数,我想在一天中的某些时间触发,但那些时间在不同的时区。例如,我可能希望触发事件:

  • 悉尼时间下午4:55
  • 芝加哥时间下午6:30
  • 芝加哥时间晚上9点

......等等。

使用Cloudwatch事件,无论我使用哪个AWS区域,我似乎只能指定使用UTC触发的事件(即伦敦时间)。对于今天,那很好;我可以计算出伦敦和悉尼,伦敦和芝加哥之间的时差等等 - 然而,夏季时间在不同城市的不同日期生效,这将导致我的Lambdas在错误的时间触发它确实

有没有办法使用非UTC时间设置触发这些Cloudwatch事件?或者,是否有一种除Cloudwatch之外的机制可用于在一天中的特定时间触发Lambda函数,并在我想要的时区中指定那些时间?

提前致谢

1 个答案:

答案 0 :(得分:5)

小心 - 伦敦目前(截至2017年2月6日)UTC,但从2017年3月26日开始,他们将在BST - 英国夏令时,将是UTC + 1.换句话说,伦敦时间不一定是UTC。

对我来说,最好的办法是让另一个 lambda根据已知的时区变化更新cloudwatch触发时间。您不会显示您的实现语言,但作为示例,您可以在Java中查看this post。每天在UTC时间零运行一次Lambda,并适当更新cloudwatch规则时间。