如果我們需要定期觸發AWS的lambda或其他服務來執行工作,可以使用EventBridge Scheduler設定排程定期執行。接下來會介紹要如何在EventBridge設定Schedule,並觸發lambda。
首先,先進到 EventBridge 的 console ,找到 schedules
之後,點選 Create schedule
,接著就會進入新增的頁面。
這個步驟需要設定 schedule 的名稱和 group ,並選擇只執行一次或定期執行。
選擇只執行一次的話,需要設定在什麼時候開始執行這個 schedule ,以及必須在指定的執行時間多久之內執行。
選擇定期執行,可以決定要用設定 cron job 的方式,還是用 Rate-based 指定間隔多久執行一次。
接著指定要觸發的 AWS 服務,以及指定該服務底下的 resource 。這邊以 lambda 為範例,可以看到需要選擇 function ,並設定 event 的 payload 。
設定要不要 enable 這個 schedule ,以及執行完這個 schedule 後,要怎麼處理這個 schedule ,可以選擇 DELETE
, AWS 就會在執行完之後刪除它。
另外,還可以設定 DLQ ,只是這邊的 DLQ 是使用 SQS ,不是內建在 EventBridge 裡面,所以需要另外新增一個 SQS 的 queue 。
最後 review 完就可以產生一個 schedule 了!
而如果是選擇定期執行,AWS還會很貼心地列出什麼時候會觸發。
最後,可以從 Lambda 的 metrics 確認是否有如期被執行。