Journal
AWS Lambda 定時排程筆記
Lambda 是我第一次接觸 AWS 的入口——公司提出的定時排程需求。
適用情境
定時觸發、跑完就結束的任務(報表、同步、清理…)。由 EventBridge(CloudWatch Events)的 cron 規則觸發 Lambda。
Event 帶入結構
定時觸發的 event 長這樣,detail-type 是 Scheduled 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 的時間。