향상된 클라이언트를 만들고 DynamoDbTable - AWS SDK for Java 2.x

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

향상된 클라이언트를 만들고 DynamoDbTable

확장 클라이언트 생성

DynamoDbEnhancedClient 클래스 또는 비동기식 부본인 DynamoDbEnhancedAsyncClient는 DynamoDB Enhanced Client 를 사용하는 진입점입니다API.

향상된 클라이언트에는 작업을 수행하기 위한 표준 DynamoDbClient이 필요합니다. 는 DynamoDbEnhancedClient 인스턴스를 생성하는 두 가지 방법을 API 제공합니다. 다음 코드 조각에 표시된 첫 번째 옵션은 구성 설정에서 기본 설정을 선택하여 표준 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 인스턴스 생성

DynamoDbTableTableSchema에서 제공하는 매핑 기능을 사용하는 DynamoDB 테이블의 클라이언트 측 표현이라고 생각하면 됩니다. DynamoDbTable 클래스는 단일 DynamoDB 테이블과 상호 작용할 수 있는 CRUD 작업 방법을 제공합니다.

DynamoDbTable<T>는 문서 유형 항목으로 작업할 때 사용자 정의 클래스이든 EnhancedDocument이든 관계없이 단일 형식 인수를 사용하는 제네릭 클래스입니다. 이 인수 유형은 사용하는 클래스와 단일 DynamoDB 테이블 간의 관계를 설정합니다.

DynamoDbEnhancedClienttable() 팩토리 메서드를 사용하여 다음 코드 조각과 같이 DynamoDbTable 인스턴스를 생성합니다.

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

DynamoDbTable 인스턴스는 변경이 불가능하고 애플리케이션 전체에서 사용할 수 있기 때문에 싱글톤에 적합합니다.

이제 코드에 Customer 인스턴스에서 사용할 수 있는 DynamoDB 테이블의 메모리 내 표현이 있습니다. 실제 DynamoDB 테이블은 존재할 수도 있고 존재하지 않을 수도 있습니다. 라는 테이블이 Customer 이미 있는 경우 해당 테이블에 대한 CRUD 작업 수행을 시작할 수 있습니다. 테이블이 존재하지 않는 경우 다음 단원에서 설명하는 대로 DynamoDbTable 인스턴스를 사용하여 테이블을 생성하세요.