Amazon web services AWS Cloudwatch事件-如何针对不同时区触发?

Amazon web services AWS Cloudwatch事件-如何针对不同时区触发?,amazon-web-services,timezone,aws-lambda,amazon-cloudwatch,Amazon Web Services,Timezone,Aws Lambda,Amazon Cloudwatch,我有很多AWS Lambda函数,我想在一天中的特定时间触发,但这些时间在不同的时区。例如,我可能希望在以下位置触发事件: 悉尼时间下午4:55 芝加哥时间下午6:30 芝加哥时间晚上9点 ……等等 使用Cloudwatch事件,无论我使用哪个AWS区域,似乎我只能使用UTC(即伦敦时间)指定要触发的事件。对于今天,这很好;我可以计算出伦敦和悉尼、伦敦和芝加哥之间的时差,等等——然而,夏季在不同城市的不同日期生效,这会导致我的Lambdas在错误的时间触发 有没有办法使用非UTC时间设置触发

我有很多AWS Lambda函数,我想在一天中的特定时间触发,但这些时间在不同的时区。例如,我可能希望在以下位置触发事件:

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

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

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


提前感谢

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


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

小心-伦敦目前是UTC,但从3月26日开始,他们将在英国夏令时(BST)运行。不幸的是,没有比此更好的解决方案,自从你回答这个问题以来,五年来还没有找到更好的解决办法。这种解决方案有很多种方式可以横向运行,例如,如果您需要在时区轮班附近运行作业,并且更新规则的脚本尚未完成运行。