本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用進階對應功能
了解 DynamoDB 增強型用戶端 API 中的進階表格結構定義功能。
瞭解表結構定義類型
TableSchema
是 DynamoDB 增強型用戶端 API 對應功能的介面。它可以將資料物件對映至的地圖,也可以從中對映資料物件AttributeValuesTableSchema
象需要知道它正在映射的表的結構。此結構資訊儲存在TableMetadata
增強型用戶端 API 有幾個實作TableSchema
,如下所示。
從註釋的類生成的表模式
從帶註釋的類構建一個TableSchema
中等昂貴的操作,因此我們建議在應用程序啟動時執行一次此操作。
-
BeanTableSchema
-
這個實現是基於一個 bean 類的屬性和註釋構建的。此方法的範例將在 「開始使用」一節中展示。
注意
如果 a 行
BeanTableSchema
為不如您預期,請啟用software.amazon.awssdk.enhanced.dynamodb.beans
. - ImmutableTableSchema
-
這個實現是從一個不可變的數據類構建的。本使用不可變的資料類別節將說明此方法。
使用生成器生成的表模式
以下 TableSchema
s 是通過使用構建器從代碼構建的。這種方法比使用帶註釋數據類的方法成本更低。構建器方法避免使用註釋,並且不需要 JavaBean 命名標準。
- StaticTableSchema
-
此實現是為可變數據類構建的。本指南的入門部分演示瞭如何生成StaticTableSchema使用構建器。
- StaticImmutableTableSchema
-
與構建的方式類似
StaticTableSchema
,您可以TableSchema
使用構建器生成此類型的實現以與不可變數據類一起使用。
沒有固定結構描述的資料表結構定義
- DocumentTableSchema
-
與的其他實作不同
TableSchema
,您不會為實DocumentTableSchema
體定義屬性。通常,您只會指定主索引鍵和屬性轉換器提供者。EnhancedDocument
執行個體會提供您從個別元素或 JSON 字串建立的屬性。