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

mon*_*962 7 timezone amazon-web-services amazon-cloudwatch aws-lambda

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

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

...等等.

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

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

提前致谢

std*_*bar 5

请注意-伦敦当前(截至2017年2月6日)是UTC,但从2017年3月26日开始,它们将处于BST-英国夏令时,即UTC +1。换句话说,伦敦时间不一定是世界标准时间。

对我而言,最好的选择是让另一个 lambda根据已知的时区更改来更新cloudwatch触发时间。您没有显示您的实现语言,但是例如,在Java中,您可以看一下这篇文章。每天在UTC时间零运行此Lambda,并适当更新cloudwatch规则时间。

  • 不幸的是,没有比这更好的解决方案了,自从您回答这个问题以来,五年来还没有找到更好的解决方案。这种解决方案可能会在很多方面出现问题,例如,如果您需要在时区转换附近运行作业,并且更新规则的脚本尚未完成运行。 (3认同)