實驗室概觀
此實驗室預計為 Developing with DynamoDB 課程的最後一個實驗室單元,以之前幾個實驗室所傳授的技能為基礎撰寫而成。因此,內容預期會較為艱深,並參考相關說明文件及運用先前的經驗,提供您完整實踐開發程序的機會,而非只是參考我們所提供的解答。不過,我們還是提供了完整的解答。如果您 遭遇瓶頸而需要解答,請參閱參考答案。
AnyCompany 正著手部署新的 Web 音樂應用程式,以輔助其電影資料庫應用程式。他們選擇使用 Amazon DynamoDB,並搭配無伺服器的 AWS Lambda 架構來實作這項計畫。
此應用程式具有四項一般功能:使用者可以顯示資料庫中的所有音樂專輯,或僅顯示特定類型的專輯;使用者也可以新增或刪除資料庫項目,並更新特定專輯非主要屬性的內容。公司交派您負責建立及實作這項職務,結合 Amazon DynamoDB、AWS Lambda 和 Amazon API Gateway,並搭配您剛取得的前端網站。另外還有一項可自由選擇是否完成的任務,也就是整合 Amazon Cognito 和應用程式,為使用者提供授權。
音樂應用程式具備以下元件:
- 以 HTML/JavaScript 撰寫並托管於 Amazon S3 的靜態前端。
- 採用 Amazon API Gateway、AWS Lambda 和 Amazon Cognito 的無伺服器後端。
- 供持久層使用的 DynamoDB 資料表。
涵蓋的主題
本實驗室結束後,您將能夠:
- 建立及部署以 Python 寫成的 Lambda 函數,以便對 DynamoDB 資料表執行操作。
- 運用 DynamoDB 條件運算式。
- 建立及部署 API Gateway 端點,使其成為 Lambda 函數的代理。
- 建立及設定 Amazon Cognito 使用者集區,以利執行身分驗證。
技術知識先決條件
想要順利完成此實驗室,您應熟悉 AWS 管理主控台的導覽方式,並了解如何在整合式開發環境 (IDE) 中編輯指令碼,以及實作基本 Python 指令碼,搭配 DynamoDB 執行 CRUD 操作。此外,您也應該具備 Amazon Simple Storage Service (Amazon S3)、AWS Lambda 和 Amazon API Gateway 服務的基礎知識。
圖示圖例
此實驗室使用各種不同的圖示,提醒您注意指南的特定層面。以下清單說明各圖示的用途:
- 鍵盤圖示表示您必須執行命令。
- 剪貼簿圖示代表您可比較所提供的範例,驗證命令或所編輯檔案的輸出。
- 注意圖示具體指明重要的提示、秘訣、指導或建議。
- 驚嘆號圖示表示您應特別注意不可逆且可能造成執行失敗的動作。
- 「i」圓圈圖示指出您可從何處找到更多資訊。
- 帶有勾號的人員圖示表示您可利用該機會檢核相關知識,並測試您所學到的內容。