在本課中,您將逐步了解使用 DynamoDB 插入和擷取資料的一些簡單範例。您使用 CreateTable API 建立 DynamoDB 資料表,然後使用 BatchWriteItem API 呼叫插入一些項目。最後,使用 GetItem API 呼叫擷取個別項目。在了解這些範例之前,我們先討論範例線上書店應用程式中將使用的資料模型。
在後續的單元中,您將了解如何使用 Query API 呼叫一次擷取多個項目,以及如何透過使用次要索引啟用額外的查詢模式。您還將看到如何更新資料表中的現有項目。
完成單元的時間:15 分鐘
此單元中重點介紹了以下 DynamoDB 概念:
- 資料表:DynamoDB 資料紀錄集合。
- 項目:DynamoDB 資料表中的單個資料紀錄。相當於關聯式資料庫中的資料列。
- 屬性:項目中的單一資料元素。相當於關聯式資料庫中的資料欄。但是,與關聯式資料庫中的資料欄不同的是,除了本單元稍後討論的主索引鍵,建立資料表時不需要指定屬性。屬性可以是簡單的類型,例如字串、整數或布林值,也可以是複雜的類型,例如清單或對應。
- 主索引鍵:主索引鍵是 DynamoDB 資料表中單個項目的唯一識別碼。建立資料表時必須指定主索引鍵名稱和類型,且寫入資料表的每個項目必須包含指定類型的主索引鍵。簡單主索引鍵包含單一屬性,複合主索引鍵包含兩個屬性:部分索引鍵和排序索引鍵。例如,您可以使用 "UserID" 作為識別碼來建立簡單主索引鍵,或將 "UserID" 和 "Creation_Date" 合併為項目識別碼,來建立複合主索引鍵。
構建應用程式時,您應始終花時間設計應用程式邏輯中需要的資料模型。此資料模型設計應考量應用程式中將用於讀取和寫入資料的資料存取需要。
DynamoDB 是一種非關聯式資料庫。使用非關聯式資料庫,建立資料表時,您無需指定完整的結構描述預付費用。您只需為資料表宣告主索引鍵,其會唯一識別您資料表中的每個紀錄。這可降低設計資料模型的預付費用,因為您可以在應用程式的需要變更時修改結構描述。
如本教學「簡介」中「應用程式背景」部分中所提及,您的應用程式需要依標題和作者檢索個別書籍。由於標題和作者組合是唯一的書籍識別碼,您可以使用這些屬性作為資料表的主索引鍵。您的應用程式還需要儲存有關書籍類別的資訊,例如歷史或傳記,以及書籍可用格式 — 精裝書、平裝書或有聲書,這些會對應至您庫存系統中的項目編號。
謹記這些需求,您可以針對資料表使用以下結構描述:
- 標題 (字串):書的標題
- 作者 (字串):書的作者
- 類別 (字串):書類別,例如歷史、傳記,以及科幻
- 格式 (對應):可用銷售的不同格式 (例如精裝書、平裝書和有聲書) 及其在庫存系統中的項目編號
在下列步驟中,透過為資料表指定複合主索引鍵 (作者和標題) 來建立資料表。然後,您將一些項目載入到資料表,並從該資料表讀取個別項目。