目標
- 類別: Game-Based Learning
- 課名: AWS Card Clash – an Architecture Design Game
- 關卡名稱(遊玩主題): CardClash_ServerlessDevelopement_第2關_觸發資料彙總
透過遊玩本關,學習基本的無伺服器服務架構,以及理解如何透過 DynamoDB Streams 紀錄和觸發資料彙總。
第二關 架構圖雛形

架構場景應用
Triggers – Aggregating Data,觸發資料彙總
此關架構基於資料項目修改,觸發建構幾乎即時的資料聚合。
使用者新增資料進入資料庫的場景
卡牌功能說明
Service Cards:


- Amazon API Gateway
- 服務介紹:
是一種全受管的服務,負責管控系統中所有用到的API,使用時可以建立 RESTful API 和 WebSocket API,以啟用即時雙向通訊應用程式。 - 本關功能:
將要新增的資料插入資料表 items 中 - 服務網址:
https://aws.amazon.com/tw/api-gateway/
- 服務介紹:


- Amazon DynamoDB
- 卡牌介紹:
是Amazon的無伺服器NoSQL資料庫服務,用來儲存結構化資料 - 本關功能:
作為系統中存放資料的地方,本系統中有 items 跟 total items兩張資料表 - 服務網址:
https://aws.amazon.com/tw/dynamodb/
- 卡牌介紹:


- Amazon DynamoDB Streams
- 卡牌介紹:
依時間紀錄DynamoDB資料表項目的操作資訊日誌,可以儲存和檢視資料項目修改嫌後的內容。 - 本關功能:
記錄新增資料項目進 items 的行為,並觸發 AWS Lambda 的匯總程式 - 服務網址:
https://docs.aws.amazon.com/zh_tw/amazondynamodb/latest/developerguide/Streams.html
- 卡牌介紹:


- AWS Lambda
- 卡牌介紹:
是一種運算服務,可執行程式碼以回應事件並自動管理運算資源,無須伺服器或叢集 - 本關功能:
負責系統中的程式運行,被 Amazon DynamoDB Streams 觸發後,將前面新增進 items 的資料彙總至total items資料表中 - 服務網址:
https://aws.amazon.com/tw/lambda/
- 卡牌介紹:
Sercurity Cards:
- IAM
- 卡牌介紹:
全名AWS Identity and Access Management,是管理身分和AWS服務存取權的防護服務 - 本關功能:
在關卡中可消耗一點體力打出,保護指定的我方服務卡不被對手佔領,本關中的服務卡全部皆可使用 - 服務網址:
https://aws.amazon.com/tw/iam/
- 卡牌介紹:

- AWS WAF
- 卡牌介紹:
Web Application Firewall的縮寫,是一種網頁應用程式的防火牆,用來保護Web應用程式的服務,防止遭受網路攻擊 - 本關功能:
在關卡中可消耗一點體力打出,保護指定的我方打出的Web應用程式卡不被對手佔領,如本關中的Amazon API Gateway - 服務網址:
https://aws.amazon.com/tw/waf/
- 卡牌介紹:
其他:

- AWS Management Console
- 卡牌介紹:
AWS管理主控台,是管理AWS服務的網路介面 - 本關功能:
在關卡中打出可增加一點體力 - 服務網址:
https://aws.amazon.com/tw/console/
- 卡牌介紹:

- AWS CLI
- 卡牌介紹:
全名AWS Command Line Interface,即AWS命令列介面,是一種管理AWS服務的統一工具。可以透過指令來與 AWS 各項服務互動,不需透過 AWS 管理主控台。 - 本關功能:
在關卡中打出可以增加兩點體力 - 服務網址:
https://aws.amazon.com/tw/cli/
- 卡牌介紹:

- AWS CloudFormation
- 卡牌介紹:
是一種基礎設施即程式碼(IaC) 服務,可以幫助使用者利用程式建立、管理AWS或第三的服務,以及進行模型化 - 本關功能:
在關卡中打出可增加三點體力 - 服務網址:
https://aws.amazon.com/tw/cloudformation/
- 卡牌介紹:
最終架構圖樣貌

總結
- 學習基本的無伺服器架構
- 掌握AWS服務運用:
- Amazon DynamoDB Streams 可以記錄 Amazon DynamoDB 的更動,也可藉此當作觸發器觸發 AWS Lambda執行程式
- Amazon API Gateway 跟 Amazon DynamoDB 間的 insert 互動
參考資料
- Service Card:
- Sercurity Cards 和其他: