我有一堆AWS Lambda函数,我想在一天中的某些时间触发,但那些时间在不同的时区。例如,我可能希望触发事件:
......等等。
使用Cloudwatch事件,无论我使用哪个AWS区域,我似乎只能指定使用UTC触发的事件(即伦敦时间)。对于今天,那很好;我可以计算出伦敦和悉尼,伦敦和芝加哥之间的时差等等 - 然而,夏季时间在不同城市的不同日期生效,这将导致我的Lambdas在错误的时间触发它确实
有没有办法使用非UTC时间设置触发这些Cloudwatch事件?或者,是否有一种除Cloudwatch之外的机制可用于在一天中的特定时间触发Lambda函数,并在我想要的时区中指定那些时间?
提前致谢
答案 0 :(得分:5)
小心 - 伦敦目前(截至2017年2月6日)UTC,但从2017年3月26日开始,他们将在BST - 英国夏令时,将是UTC + 1.换句话说,伦敦时间不一定是UTC。
对我来说,最好的办法是让另一个 lambda根据已知的时区变化更新cloudwatch触发时间。您不会显示您的实现语言,但作为示例,您可以在Java中查看this post。每天在UTC时间零运行一次Lambda,并适当更新cloudwatch规则时间。