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

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

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

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

  • V1-迪纳摩 DBMapper

  • V2 - DynamoDB 增强型客户端

您与这两个库的交互方式大致相同:实例化 a, mapper/client 然后为其提供一个 Java POJO,用于 APIs 读取这些项目并将其写入 DynamoDB 表。这两个库还为 POJO 的类提供了注释,以指导客户端如何处理 POJO。

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

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

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

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

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

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

有关 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 中,您可以使用构件依赖项来访问 mapping/document API。dynamodb-enhanced mapping/document dynamodb-enhanced 模块包含低级 dynamodb 模块的传递依赖项。