创建增强型客户端和 DynamoDbTable - AWS SDK for Java 2.x

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

创建增强型客户端和 DynamoDbTable

创建增强型客户端

DynamoDbEnhancedClient类或其异步类是使用 DynamoDB 增强型客户端 API 的入口点。DynamoDbEnhancedAsyncClient

增强型客户端需要标准 DynamoDbClient 才能执行工作。API 提供了两种创建 DynamoDbEnhancedClient 实例的方法。第一个选项是使用从配置设置中选取的默认设置创建标准 DynamoDbClient,如以下代码段所示。

DynamoDbEnhancedClient enhancedClient = DynamoDbEnhancedClient.create();

如果要配置底层标准客户端,可以将其提供给增强型客户端的生成器方法,如以下代码段所示。

// Configure an instance of the standard DynamoDbClient. DynamoDbClient standardClient = DynamoDbClient.builder() .region(Region.US_EAST_1) .credentialsProvider(ProfileCredentialsProvider.create()) .build(); // Use the configured standard client with the enhanced client. DynamoDbEnhancedClient enhancedClient = DynamoDbEnhancedClient.builder() .dynamoDbClient(standardClient) .build();

创建 DynamoDbTable 实例

可以将 DynamoDbTable 视为使用 TableSchema 提供的映射功能的 DynamoDB 表的客户端表示形式。该 DynamoDbTable 类提供了 CRUD 操作的方法,允许您与单个 DynamoDB 表进行交互。

DynamoDbTable<T> 是一个采用单一类型参数的通用类,无论是自定义类还是处理文档类型项目时的 EnhancedDocument。此参数类型在您使用的类和单个 DynamoDB 表之间建立关系。

使用 DynamoDbEnhancedClienttable() 工厂方法创建 DynamoDbTable 实例,如以下代码段所示。

static final DynamoDbTable<Customer> customerTable = enhancedClient.table("Customer", TableSchema.fromBean(Customer.class));

DynamoDbTable 实例是单例类的候选实例,因为它们是不可变的,可以在整个应用程序中使用。

现在,您的代码具有可以处理实例的 DynamoDB 表的内存表示形式。Customer实际的 DynamoDB 表可能存在,也可能不存在。如果名为 Customer 的表已经存在,则可以开始对其执行 CRUD 操作。如果该表不存在,请使用 DynamoDbTable 实例创建表,如下一部分所述。