DynamoDB 有觸發器嗎?

有。DynamoDB 觸發器由 DynamoDB Streams 加上 AWS Lambda 建構而成:stream 擷取每一次項目層級的變更,而訂閱該 stream 的 Lambda 函式會自動回應執行。並沒有 CREATE TRIGGER 陳述式 — 觸發器程式碼位於 Lambda 中,在資料庫之外。

觸發器如何運作

你在表格上啟用 DynamoDB Streams,然後將 stream 的 ARN 與一個 Lambda 函式關聯。每次建立、更新與刪除都會被擷取為一筆 stream 記錄;Lambda 服務每秒輪詢 stream 四次,並以新記錄的批次同步叫用你的函式。你也可以過濾事件,讓函式只針對你在意的變更執行。

觸發器的用途

經典用途:在值變更時傳送通知、啟動工作流程、維護彙總與計數器,以及將每次變更複製到持久儲存(例如 S3)以留下永久的稽核軌跡。若函式發生錯誤,Lambda 會重試該批次,直到成功或記錄過期為止,且重試與批次行為皆可設定。

值得知道的限制

AWS 建議一個 stream 最多訂閱兩個 Lambda 函式 — 更多可能造成讀取節流。觸發器函式應為短命;對於繁重的處理,請交由非同步工作流程,而不要在行內執行冗長的邏輯。

深入了解

先從 DynamoDB Streams 指南開始了解 stream 模型本身,用運算式建構器打造你的觸發器要回應的寫入,並下載 DynoTable 觀察餵給你 stream 的項目變更。

參考資料

最後驗證於 2026-07-13,對照上方連結的官方 AWS 文件。

不必透過主控台就能操作 DynamoDB

DynoTable 是一款快速的 DynamoDB 桌面用戶端 — 瀏覽表格、執行 SQL 風格的查詢,並在本機編輯項目。