기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
향상된 문서 API 사용 시작
향상된 문서 API에는 DynamoDB 향상된 클라이언트 API에 필요한 것과 동일한 종속성이 필요합니다. 또한 이 항목의 시작 부분에 표시된 것처럼 DynamoDbEnhancedClient 인스턴스도 필요합니다.
확장 문서 API는 AWS SDK for Java 2.x의 버전 2.20.3과 함께 출시되었으므로 해당 버전 이상이 필요합니다.
DocumentTableSchema
및 DynamoDbTable
만들기
향상된 문서 API를 사용하여 DynamoDB 테이블에 대해 명령을 호출하려면 테이블을 클라이언트 측 DynamoDbTable<EnhancedDocument>
향상된 클라이언트의 table()
메서드는 DynamoDbTable<EnhancedDocument>
인스턴스를 생성하고 DynamoDB 테이블 이름 및 DocumentTableSchema
에 대한 파라미터를 필요로 합니다.
DocumentTableSchemaAttributeConverterProvider.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" } ] }