Serverless 實作
使用 API Gateway + Lambda + DynamoDB 建立聯絡 API 的流程
整理聯絡表單透過 Serverless API 儲存的流程,從前端到 DynamoDB 寫入。
發布日期:2026-06-07/更新日期:2026-08-20/作者:AWS Cert Roadmap Lab
#API Gateway#Lambda#DynamoDB#Contact Form#Serverless
即使是靜態網站,像聯絡表單這類使用者輸入也需要儲存的地方。本網站使用 API Gateway + Lambda + DynamoDB 組成聯絡 API。
結論
前端呼叫 POST /contact,API Gateway 觸發 Lambda,Lambda 驗證輸入值後寫入 DynamoDB。
整體流程
- 使用者在聯絡表單中輸入內容
- 前端進行必填檢查與 email 格式檢查
- 將 JSON 傳送至 API Gateway 的 POST /contact
- Lambda 解析 request body
- 檢查 honeypot
- Lambda 端也進行驗證
- PutItem 至 DynamoDB
- 回傳成功 response
- 前端顯示完成訊息
為什麼不只在前端驗證
前端的檢查是為了改善使用者體驗,在安全性上不可信任。
由於 API 可能被直接呼叫,Lambda 端也會檢查必填項目、字數、email 格式與 honeypot。
DynamoDB 中儲存的資料
儲存的項目包含 contactId、createdAt、name、email、subject、message、sourcePage、status、userAgent 等。
不過,CloudWatch Logs 中不會輸出完整的 email 或訊息內文。Log 只輸出 requestId、contactId、錯誤類型等,調查所需的最小資訊。
CORS 的處理方式
正式環境中,允許的 Origin 僅限定於正式網域。開發環境的 localhost 只在開發時允許。
避免將 CORS 設為 * 直接上線運作。
此架構的優點
- 不使用 EC2
- 無需管理伺服器
- 低流量存取時容易控制成本
- 可在實作中使用 AWS 認證學習的主要服務
- 在作品集中容易說明設計意圖
相關詞彙
延伸閱讀
接下來學什麼
結合部落格文章與 AWS 術語集、服務比較、模擬題、架構圖,把考試知識和實作體驗連結起來理解。