适用于 Java 的 SDK 版本 1 升级到版本 2 时,映射库发生的高级别更改 - AWS SDK for Java 2.x

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

适用于 Java 的 SDK 版本 1 升级到版本 2 时,映射库发生的高级别更改

在 V1 和 V2 中,每个库中映射客户端的名称不同:

  • V1 - DynamoDBMapper

  • V2 - DynamoDB 增强型客户端

您与这两个库的交互方式大致相同:实例化映射器/客户端,然后将 Java POJO 传递给负责从 DynamoDB 表中读取和写入这些对象的 API。这两个库还为 POJO 的类提供了注释,以指导客户端如何处理 POJO。

迁移到 V2 时的显著差异包括:

  • V2 和 V1 为低级 DynamoDB 操作使用不同的方法名称。例如:

    V1 V2
    负载 getItem
    save putItem
    batchLoad batchGetItem
  • V2 提供了多种定义表架构和将 POJO 映射到表的方法。您可以选择使用注释或使用生成器从代码中生成的架构。V2 还提供架构的可变和不可变版本。

  • 在 V2 中,您需要在最初几个步骤中明确地创建表架构;而在 V1 中,根据需要从注释类中推断出表架构。

  • V2 在增强型客户端 API 中包括文档 API 客户端,而 V1 则使用单独的 API

  • 在 V2 中,所有 API 均提供同步和异步版本。

有关 V2 增强型客户端的更多详细信息,请参阅本指南中的 DynamoDB 映射部分

导入依赖项差异

V1 V2
<dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-bom</artifactId> <version>1.X.X</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-dynamodb</artifactId> </dependency> </dependencies>
<dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>2.X.X*</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>dynamodb-enhanced</artifactId> </dependency> </dependencies>

* 最新版本

在 V1 中,单个依赖项包括低级 DynamoDB API 和映射/文档 API,而在 V2 中,您可以使用 dynamodb-enhanced 构件依赖项来访问映射/文档 API。dynamodb-enhanced 模块包含低级 dynamodb 模块的传递依赖项。