使用 DynamoDB
DynamoDB 是一项完全托管式 NoSQL 数据库服务,提供快速且可预测的性能,能够实现无缝扩展。本节向您展示如何使用适用于 Java 的 AWS SDK 2.x 来处理 DynamoDB。
选择您的 DynamoDB 客户端
SDK 提供了两种处理 DynamoDB 的主要方法:
- 低级别客户端(
DynamoDbClient) -
通过完全控制请求和响应,提供对 DynamoDB 操作的直接访问。当您需要精细控制或使用动态架构时,请使用此客户端。
- 增强型客户端(
DynamoDbEnhancedClient) -
通过 Java 对象和 DynamoDB 项目之间的自动映射,提供面向对象的编程。还提供了面向文档的功能,用于处理不遵循固定架构且类似 JSON 的数据。在处理定义明确的数据模型或文档类型数据时,请使用此客户端。
配置 DynamoDB 客户端
在使用 DynamoDB 之前,请配置您的客户端以获得更好的性能和可靠性。
了解 DynamoDB 重试行为
DynamoDB 客户端使用的默认最大重试次数为 8,该值高于其他 AWS 服务客户端。这种较高的重试次数有助于应对 DynamoDB 的分布式特性和临时容量限制。有关重试策略的更多信息,请参阅在AWS SDK for Java 2.x 中配置重试行为。
使用基于账户的端点来优化性能
DynamoDB 提供基于 AWS 账户的端点,通过使用您的 AWS 账户 ID 来简化请求路由,从而提升性能。
要使用此功能,您需要使用AWS SDK for Java 2.x 的版本 2.28.4 或更高版本。您可以在 Maven Central 存储库
要选择退出基于账户的路由,请选择以下选项之一:
-
配置 DynamoDB 服务客户端,将
AccountIdEndpointMode设置为DISABLED。 -
设置环境变量。
-
设置 JVM 系统属性。
-
更新共享的 AWS 配置文件设置。
以下示例演示了如何通过配置 DynamoDB 服务客户端来禁用基于账户的路由:
DynamoDbClient.builder() .accountIdEndpointMode(AccountIdEndpointMode.DISABLED) .build();
有关其他配置选项的更多信息,请参阅《AWS SDK 和工具参考指南》中的基于账户的端点。
本主题涵盖的内容
以下各节将向您展示如何使用 DynamoDB:
-
处理 DynamoDB 中的表 - 创建、描述、更新和删除表
-
处理 DynamoDB 中的项目 - 添加、检索和更新单个项目
-
使用 AWS SDK for Java 2.x 将 Java 对象映射到 DynamoDB 项目 - 在增强型客户端中使用对象映射和面向文档的数据
有关额外的 DynamoDB 代码示例,请参阅 AWS 代码示例库中的 DynamoDB 代码示例。