버전 1과 버전 2 간의 API 차이점 문서화 AWS SDK for Java - AWS SDK for Java 2.x

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

버전 1과 버전 2 간의 API 차이점 문서화 AWS SDK for Java

문서 API는 DynamoDB 테이블에서 JSON 스타일 문서를 단일 항목으로 사용할 수 있도록 지원합니다. V1 문서 API에는 V2에 해당 API가 있지만 VV1, V2는 DynamoDB 향상된 클라이언트에 문서 API 기능을 통합합니다.

V1에서 Item 클래스는 DynamoDB 테이블의 비정형 레코드를 나타냅니다. V2에서 비정형 레코드는 EnhancedDocument 클래스의 인스턴스로 표시됩니다. 기본 키는 V2의 테이블 스키마와 V1의 항목 자체에 정의되어 있습니다.

아래 표에서는 V1과 V2의 문서 APIs을 비교합니다.

사용 사례 V1 V2
Create a document client
AmazonDynamoDB client = ... //Create a client. DynamoDB documentClient = new DynamoDB(client);
// The V2 Document API uses the same DynamoDbEnhancedClient // that is used for mapping POJOs. DynamoDbClient standardClient = ... //Create a standard client. DynamoDbEnhancedClient enhancedClient = ... // Create an enhanced client.
Reference a table
Table documentTable = docClient.documentClient("Person");
DynamoDbTable<EnhancedDocument> documentTable = enhancedClient.table("Person", TableSchema.documentSchemaBuilder() .addIndexPartitionKey(TableMetadata.primaryIndexName(),"id", AttributeValueType.S) .attributeConverterProviders(AttributeConverterProvider.defaultProvider()) .build());
Work with semi-structured data
Put item
Item item = new Item() .withPrimaryKey("id", 50) .withString("firstName", "Shirley"); PutItemOutcome outcome = documentTable.putItem(item);
EnhancedDocument personDocument = EnhancedDocument.builder() .putNumber("id", 50) .putString("firstName", "Shirley") .build(); documentTable.putItem(personDocument);
Get item
GetItemOutcome outcome = documentTable.getItemOutcome( "id", 50); Item personDocFromDb = outcome.getItem(); String firstName = personDocFromDb.getString("firstName");
EnhancedDocument personDocFromDb = documentTable .getItem(Key.builder() .partitionValue(50) .build()); String firstName = personDocFromDb.getString("firstName");
Work with JSON items
Convert a JSON structure to use it with the Document API
// The 'jsonPerson' identifier is a JSON string. Item item = new Item().fromJSON(jsonPerson);
// The 'jsonPerson' identifier is a JSON string. EnhancedDocument document = EnhancedDocument.builder() .json(jsonPerson).build());
Put JSON
documentTable.putItem(item)
documentTable.putItem(document);
Read JSON
GetItemOutcome outcome = //Get item. String jsonPerson = outcome.getItem().toJSON();
String jsonPerson = documentTable.getItem(Key.builder() .partitionValue(50).build()) .fromJson();

문서 APIAPIs 참조 및 가이드

V1 V2
API 참조 API 참조 API 참조
설명서 가이드 Amazon DynamoDB 개발자 안내서 향상된 문서 API(이 가이드)