1

我有一堆AWS Lambda函數,我想在一天的特定時間觸發,但那些時間在不同的時區。例如,我可能希望事件在觸發:AWS Cloudwatch事件 - 如何觸發不同的時區?

  • 下午4:55悉尼時間
  • 下午6:30芝加哥時間
  • 晚上9:00芝加哥時間

...等等。

使用Cloudwatch事件,無論我使用哪個AWS區域,似乎我只能指定使用UTC(即倫敦時間)觸發的事件。今天,這很好;我可以計算出倫敦和悉尼以及倫敦和芝加哥等地的時差 - 然而,夏季時間會在不同城市的不同日期生效,並且會導致我的蘭姆達斯在錯誤的時間觸發它確實。

有沒有辦法使用非UTC時間設置觸發這些Cloudwatch事件?或者,除Cloudwatch之外是否還有其他機制可用於在特定時間觸發Lambda函數,並在我想要的時區中指定那些時間?

在此先感謝

+1

小心 - 倫敦目前是UTC,但從3月26日開始,它們將在BST - 英國夏令時。 – stdunbar

回答

1

要小心 - 倫敦是目前(如2017年2月6日)的UTC但是,開始於2017年三月26日,他們將在BST - 英國夏令時間,這將是UTC +換句話說,倫敦時間不一定是UTC。

對我來說,最好的選擇是讓另一個 lambda根據已知的時區更改更新cloudwatch觸發時間。你不會顯示你的實現語言,但作爲一個例子,在Java中,你可以看看this post。在UTC時間零點每天運行一次Lambda,並適當更新cloudwatch規則時間。