향상된 문서 API 사용 시작 - AWS SDK for Java 2.x

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

향상된 문서 API 사용 시작

향상된 문서 API에는 DynamoDB 향상된 클라이언트 API에 필요한 것과 동일한 종속성이 필요합니다. 또한 이 항목의 시작 부분에 표시된 것처럼 DynamoDbEnhancedClient 인스턴스도 필요합니다.

확장 문서 API는 AWS SDK for Java 2.x의 버전 2.20.3과 함께 출시되었으므로 해당 버전 이상이 필요합니다.

DocumentTableSchemaDynamoDbTable 만들기

향상된 문서 API를 사용하여 DynamoDB 테이블에 대해 명령을 호출하려면 테이블을 클라이언트 측 DynamoDbTable<EnhancedDocument> 리소스 객체와 연결하세요.

향상된 클라이언트의 table() 메서드는 DynamoDbTable<EnhancedDocument> 인스턴스를 생성하고 DynamoDB 테이블 이름 및 DocumentTableSchema에 대한 파라미터를 필요로 합니다.

DocumentTableSchema의 빌더에는 기본 인덱스 키와 하나 이상의 속성 변환기 제공자가 필요합니다. AttributeConverterProvider.defaultProvider() 메서드는 기본 유형에 대한 변환기를 제공합니다. 사용자 지정 특성 변환기 공급자를 제공하는 경우에도 지정해야 합니다. 선택적인 보조 인덱스 키를 빌더에 추가할 수 있습니다.

다음 코드 조각은 스키마가 없는 EnhancedDocument 객체를 저장하는 person DynamoDB 테이블의 클라이언트 측 표현을 생성하는 코드를 보여줍니다.

DynamoDbTable<EnhancedDocument> documentDynamoDbTable = enhancedClient.table("person", TableSchema.documentSchemaBuilder() // Specify the primary key attributes. .addIndexPartitionKey(TableMetadata.primaryIndexName(),"id", AttributeValueType.S) .addIndexSortKey(TableMetadata.primaryIndexName(), "lastName", AttributeValueType.S) // Specify attribute converter providers. Minimally add the default one. .attributeConverterProviders(AttributeConverterProvider.defaultProvider()) .build()); // Call documentTable.createTable() if "person" does not exist in DynamoDB. // createTable() should be called only one time.

다음은 이 단원 전체에서 사용되는 person 객체의 JSON 표현을 보여줍니다.

{ "id": 1, "firstName": "Richard", "lastName": "Roe", "age": 25, "addresses": { "home": { "zipCode": "00000", "city": "Any Town", "state": "FL", "street": "123 Any Street" }, "work": { "zipCode": "00001", "city": "Anywhere", "state": "FL", "street": "100 Main Street" } }, "hobbies": [ "Hobby 1", "Hobby 2" ], "phoneNumbers": [ { "type": "Home", "number": "555-0100" }, { "type": "Work", "number": "555-0119" } ] }