Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Amazon Web Services

Serverless Web Apps using Amazon DynamoDB - Part 1 (Traditional Chinese)

Amazon Web Services and Amazon via AWS Skill Builder

Overview

概觀

AWS 超級英雄大集合!在以下這個使用 DynamoDB 的三部分實驗室系列中,運用 DynamoDB 建立任務檔案產生器。在完成第 1 部分的過程中,您必須按指示逐步操作。在這個實驗室中,您將會建立後續兩個實驗室需要的基礎架構。您將會建立 DynamoDB 表格並新增資料,然後檢查所需 IAM 角色和政策,以用於授與上述資料的安全存取權。

在實驗室 2 和 3 中,您將建立與 DynamoDB 互動的 Lambda 函數、透過 API 閘道服務建立 API,最後將應用程式發佈至公有 Web,您會運用到在三個實驗室中學到的所有 DynamoDB 技能。在第 3 部分結束時,您將能夠產生任務檔案,並派遣超級英雄來拯救世界!

涵蓋的主題

本實驗室結束後,您將能夠:

  • 建立 Amazon DynamoDB 表格
  • 新增項目到 Amazon DynamoDB 表格
  • 了解存取表格所需的 IAM 角色和政策結構

先決條件

建議您先參考 Amazon DynamoDB 簡介和 AWS Identity and Access Management (IAM) 簡介這兩個實驗室,藉此熟悉重要概念。以下為三部分實驗室系列中的第一部分。這三個實驗室個別都可以獨立存在,但由於這些實驗室以您之前所學為基礎,因此建議您依序參與這三個實驗室。

其他 AWS 服務

在您存取此實驗室期間,IAM 政策會停用實驗室不需要的其他 AWS 服務。此外,這個實驗室所用服務的功能會受限於實驗室所需,且在某些情況下,更會因實驗室蓄意的設計而進一步受限。存取其他服務或執行此實驗室指南以外的動作時,將會發生錯誤。

AMAZON DYNAMODB

Amazon DynamoDB 是一種快速靈活的 NoSQL 資料庫服務,適合無論規模為何皆需要穩定效能且延遲低於 10 毫秒的所有應用程式。它是全受管的雲端資料庫,並支援文件和鍵值存放模型。其靈活的資料模型和可靠的效能使其成為行動應用程式、Web、遊戲、廣告技術、物聯網和眾多其他應用程式的不二之選。

您可以使用 Amazon DynamoDB 建立資料庫表格,以存放和擷取任意數量的資料,並處理任何規模的請求流量。Amazon DynamoDB 會自動將表格的資料和流量分散到足夠數量的伺服器上,以處理客戶指定的請求容量和存放的資料量,同時保持一致的快速效能。

DYNAMODB 術語

資料表 如同其他資料庫管理系統,DynamoDB 會將資料存放在資料表中。資料表就是一組資料集合。舉例來說,您在此實驗室中會建立一個名為 SuperMission 的資料表,其用於存放任務資訊。您也會建立一個 People (人員) 資料表來存放朋友、家人或任何其他相關人物的資料,或用 Cars (車輛) 資料表來存放人員駕駛的車輛資訊。

項目 每個資料表都包含多個項目。項目是一個屬性群組,屬性使該項目得以從其他項目中經過唯一識別。在 People (人員) 資料表中,每個項目代表一個人;在 Cars (車輛) 資料表中則代表一部車。從許多方面來看,項目就類似於資料列、記錄、或關聯式資料庫系統中的元組。DynamoDB 並未限制可在資料表中存放的項目數量。

屬性 每個項目都由一或多個屬性組成。屬性是基礎的資料元素,無需再進一部細分。在此實驗室中,您建立的 Mission (任務) 項目會包含 SuperHero、MissionStatus、Villain1、Villain2、Villain3 和 SecretIdentity 等屬性。再舉一例,Department (部門) 項目可能會有 DepartmentID、Name、Manager 等屬性;People (人員) 資料表可能包含 PersonID、LastName、FirstName 等屬性。DynamoDB 中的屬性在許多方面來看,就類似於其他資料庫管理系統的欄位或資料欄。

主索引鍵 建立資料表時,除了資料表名稱,您也必須指定資料表的主索引鍵。如同其他資料庫,DynamoDB 的主索引鍵可用於唯一識別表格中的個別項目,因此沒有任何項目會有重複的索引鍵。您在新增、更新或刪除資料表中的項目時,必須指定該項目的主索引鍵屬性值。主值是必要的,絕對不能省略。DynamoDB 支援兩種主索引鍵類型:分區索引鍵分區索引鍵與排序索引鍵

次要索引 在 DynamoDB 中,您可以提供主索引鍵屬性值來讀取資料表中的資料。如果您想要使用非索引鍵屬性來讀取資料,可以使用次要索引。在資料表中建立次要索引後,您從索引中讀取資料的方式與從資料表中讀取資料的方式幾乎相同。使用次要索引,則除了按照主索引鍵值存取資料之外,您的應用程式還能使用多種查詢模式。

AWS IDENTITY AND ACCESS MANAGEMENT 文件

AWS Identity and Access Management (IAM) 是一種 Web 服務,可讓 Amazon Web Services (AWS) 客戶在 AWS 中管理使用者和使用者許可。該服務的目標客群為有多個雲端使用者或系統採用 AWS 產品 (如 Amazon DynamoDB、AWS Lambda 和 AWS 管理主控台) 的組織。使用 IAM,您可以集中管理使用者、安全登入資料 (如存取金鑰),以及許可,以控制使用者可存取的 AWS 資源。如需詳細資訊,請參閱 https://aws.amazon.com/iam/。

AWS LAMBDA

AWS Lambda 是一種運算服務,可在雲端提供可調整大小的運算容量,讓開發人員更容易進行 Web 規模的運算。只要將程式碼上傳到 AWS Lambda,AWS Lambda 會替您完成佈建與管理用於執行程式碼的伺服器。AWS Lambda 支援多種程式語言:Node.js、Java 或 Python。 您可以將 AWS Lambda 使用在以下兩種用途:

  • 當作事件驅動運算服務使用,讓 AWS Lambda 執行程式碼來回應事件,例如您會在此實驗室看到的上傳影像檔案。
  • 當作運算服務使用,執行程式碼來回應使用 Amazon API Gateway 或 API 呼叫的 HTTP 請求。

AWS Lambda 可延續 Amazon 規模的財務優勢。Lambda 僅在需要時執行程式碼並自動擴展,從每天幾個請求到每秒數千個皆可執行。Lambda 可讓您輕鬆為 Amazon S3 和 Amazon DynamoDB 等 AWS 服務建立資料處理觸發條件、處理存放於 Amazon Kinesis 的串流資料,或以 AWS 的規模、效能和安全性建立自己的後端。

本實驗室指南會逐步說明 AWS 的基本概念。但是,本指南僅對 Lambda 的概念提供簡要概觀。如需詳細資訊,請參閱 Lambda 的官方 Amazon Web Services 文件,網址為 https://aws.amazon.com/documentation/lambda/。如需定價詳細資訊,請參閱 https://aws.amazon.com/lambda/pricing/。

Reviews

Start your review of Serverless Web Apps using Amazon DynamoDB - Part 1 (Traditional Chinese)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.