本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用高级映射功能
了解 DynamoDB 增强版客户端中的高级表架构功能。API
了解表架构类型
TableSchema
是 DynamoDB 增强型客户端映射功能的接口。API它可以将数据对象映射到地图或从地图映射出来AttributeValuesTableSchema
对象需要知道它所映射的表的结构。此结构信息存储在 TableMetadata
增强版客户端API有几种实现方式TableSchema
,如下所示。
从带注释的类生成的表架构
从带注释的类构建 TableSchema
的操作成本适中,因此我们建议在应用程序启动时执行一次。
-
BeanTableSchema
-
此实现是基于 Bean 类的属性和注释构建的。入门部分演示了这种方法的示例。
注意
如果
BeanTableSchema
的行为不符合您的预期,请为software.amazon.awssdk.enhanced.dynamodb.beans
启用调试日志记录。 - ImmutableTableSchema
-
此实现基于不可变的数据类构建。使用不可变数据类部分介绍了此方法。
使用生成器生成的表架构
以下 TableSchema
是使用生成器根据代码构建的。这种方法比使用带注释的数据类的方法更便宜。构建器方法避免使用注释,并且不需要 JavaBean 命名标准。
- StaticTableSchema
-
此实现是为可变数据类构建的。本指南的入门部分演示了如何使用生成器生成 StaticTableSchema。
- StaticImmutableTableSchema
-
与
StaticTableSchema
构建方式类似,您使用生成器生成这种类型的 TableSchema
实现,以用于不可变的数据类。
适用于无固定架构数据的表架构
- DocumentTableSchema
-
与其他
TableSchema
实现不同,您无需为DocumentTableSchema
实例定义属性。通常,您只需指定主键和属性转换器提供程序。EnhancedDocument
实例提供您根据单个元素或JSON字符串构建的属性。