AWS Lambda 定時排程筆記

Lambda 是我第一次接觸 AWS 的入口——公司提出的定時排程需求。

適用情境

定時觸發、跑完就結束的任務(報表、同步、清理…)。由 EventBridge(CloudWatch Events)的 cron 規則觸發 Lambda。

Event 帶入結構

定時觸發的 event 長這樣,detail-typeScheduled Event

{
  "version": "0",
  "id": "...",
  "detail-type": "Scheduled Event",
  "source": "aws.events",
  "time": "2026-07-06T00:00:00Z",
  "resources": ["arn:aws:events:..."],
  "detail": {}
}

重點:任務需要的參數不會從 event 來——不是寫在環境變數,就是在多條規則觸發同一個 function 時用 EventBridge 的 input 設定帶入。

環境變數

  • 在 Lambda console 的 Configuration → Environment variables 設定
  • 程式內用 process.env.<NAME> 讀取
  • 敏感值(API key、DB 連線字串)如果採明碼的方式儲存的話,可能還是有些風險,更嚴謹的做法應該會是要使用AWS裡面的System Management Parameter Store來註冊跟管理。(但目前手上的lambda都還沒有實踐這種做法)

測試

  • AWS Lambda Console 的 Test 分頁可以建立測試 event:模擬排程觸發時,直接用上面的 Scheduled Event JSON 當 payload
  • 先用 Test 跑通再掛上 EventBridge 規則(或是空的json帶入),確保服務有運作成功,省去等 cron 的時間。