DynamoDB에서 사용할 테이블 및 데이터 예제 - Amazon DynamoDB

DynamoDB에서 사용할 테이블 및 데이터 예제

Amazon DynamoDB 개발자 안내서에서는 샘플 테이블을 사용하여 DynamoDB의 다양한 측면을 설명합니다.

테이블 이름 프라이머리 키
ProductCatalog

단순 기본 키:

  • Id (번호)

포럼

단순 기본 키:

  • Name (문자열)

Thread

복합 기본 키:

  • ForumName (문자열)

  • Subject (문자열)

Reply

복합 기본 키:

  • Id (문자열)

  • ReplyDateTime (문자열)

Reply 테이블에는 PostedBy-Message-Index라는 글로벌 보조 인덱스가 있습니다. 이 인덱스는 Reply 테이블의 키가 아닌 속성 2개에 대한 쿼리를 지원합니다.

인덱스 이름 프라이머리 키
PostedBy-Message-Index

복합 기본 키:

  • PostedBy (문자열)

  • Message (문자열)

이러한 테이블에 대한 자세한 내용은 다음(1단계: DynamoDB에 테이블 생성2단계: DynamoDB 테이블에 데이터 쓰기) 단원을 참조하세요.

샘플 데이터 파일

다음 단원에서는 ProductCatalog, Forum, ThreadReply 테이블을 로드하는 데 사용되는 샘플 데이터 파일을 예시합니다.

각 데이터 파일은 여러 PutRequest 요소를 포함하는데, 각 요소에는 하나의 항목이 들어갑니다. 이러한 PutRequest 요소는 AWS CLI(AWS Command Line Interface)를 사용하여 BatchWriteItem 작업에 대한 입력으로 사용됩니다.

ProductCatalog 샘플 데이터

{ "ProductCatalog": [ { "PutRequest": { "Item": { "Id": { "N": "101" }, "Title": { "S": "Book 101 Title" }, "ISBN": { "S": "111-1111111111" }, "Authors": { "L": [ { "S": "Author1" } ] }, "Price": { "N": "2" }, "Dimensions": { "S": "8.5 x 11.0 x 0.5" }, "PageCount": { "N": "500" }, "InPublication": { "BOOL": true }, "ProductCategory": { "S": "Book" } } } }, { "PutRequest": { "Item": { "Id": { "N": "102" }, "Title": { "S": "Book 102 Title" }, "ISBN": { "S": "222-2222222222" }, "Authors": { "L": [ { "S": "Author1" }, { "S": "Author2" } ] }, "Price": { "N": "20" }, "Dimensions": { "S": "8.5 x 11.0 x 0.8" }, "PageCount": { "N": "600" }, "InPublication": { "BOOL": true }, "ProductCategory": { "S": "Book" } } } }, { "PutRequest": { "Item": { "Id": { "N": "103" }, "Title": { "S": "Book 103 Title" }, "ISBN": { "S": "333-3333333333" }, "Authors": { "L": [ { "S": "Author1" }, { "S": "Author2" } ] }, "Price": { "N": "2000" }, "Dimensions": { "S": "8.5 x 11.0 x 1.5" }, "PageCount": { "N": "600" }, "InPublication": { "BOOL": false }, "ProductCategory": { "S": "Book" } } } }, { "PutRequest": { "Item": { "Id": { "N": "201" }, "Title": { "S": "18-Bike-201" }, "Description": { "S": "201 Description" }, "BicycleType": { "S": "Road" }, "Brand": { "S": "Mountain A" }, "Price": { "N": "100" }, "Color": { "L": [ { "S": "Red" }, { "S": "Black" } ] }, "ProductCategory": { "S": "Bicycle" } } } }, { "PutRequest": { "Item": { "Id": { "N": "202" }, "Title": { "S": "21-Bike-202" }, "Description": { "S": "202 Description" }, "BicycleType": { "S": "Road" }, "Brand": { "S": "Brand-Company A" }, "Price": { "N": "200" }, "Color": { "L": [ { "S": "Green" }, { "S": "Black" } ] }, "ProductCategory": { "S": "Bicycle" } } } }, { "PutRequest": { "Item": { "Id": { "N": "203" }, "Title": { "S": "19-Bike-203" }, "Description": { "S": "203 Description" }, "BicycleType": { "S": "Road" }, "Brand": { "S": "Brand-Company B" }, "Price": { "N": "300" }, "Color": { "L": [ { "S": "Red" }, { "S": "Green" }, { "S": "Black" } ] }, "ProductCategory": { "S": "Bicycle" } } } }, { "PutRequest": { "Item": { "Id": { "N": "204" }, "Title": { "S": "18-Bike-204" }, "Description": { "S": "204 Description" }, "BicycleType": { "S": "Mountain" }, "Brand": { "S": "Brand-Company B" }, "Price": { "N": "400" }, "Color": { "L": [ { "S": "Red" } ] }, "ProductCategory": { "S": "Bicycle" } } } }, { "PutRequest": { "Item": { "Id": { "N": "205" }, "Title": { "S": "18-Bike-204" }, "Description": { "S": "205 Description" }, "BicycleType": { "S": "Hybrid" }, "Brand": { "S": "Brand-Company C" }, "Price": { "N": "500" }, "Color": { "L": [ { "S": "Red" }, { "S": "Black" } ] }, "ProductCategory": { "S": "Bicycle" } } } } ] }

Forum 샘플 데이터

{ "Forum": [ { "PutRequest": { "Item": { "Name": {"S":"Amazon DynamoDB"}, "Category": {"S":"Amazon Web Services"}, "Threads": {"N":"2"}, "Messages": {"N":"4"}, "Views": {"N":"1000"} } } }, { "PutRequest": { "Item": { "Name": {"S":"Amazon S3"}, "Category": {"S":"Amazon Web Services"} } } } ] }

Thread 샘플 데이터

{ "Thread": [ { "PutRequest": { "Item": { "ForumName": { "S": "Amazon DynamoDB" }, "Subject": { "S": "DynamoDB Thread 1" }, "Message": { "S": "DynamoDB thread 1 message" }, "LastPostedBy": { "S": "User A" }, "LastPostedDateTime": { "S": "2015-09-22T19:58:22.514Z" }, "Views": { "N": "0" }, "Replies": { "N": "0" }, "Answered": { "N": "0" }, "Tags": { "L": [ { "S": "index" }, { "S": "primarykey" }, { "S": "table" } ] } } } }, { "PutRequest": { "Item": { "ForumName": { "S": "Amazon DynamoDB" }, "Subject": { "S": "DynamoDB Thread 2" }, "Message": { "S": "DynamoDB thread 2 message" }, "LastPostedBy": { "S": "User A" }, "LastPostedDateTime": { "S": "2015-09-15T19:58:22.514Z" }, "Views": { "N": "3" }, "Replies": { "N": "0" }, "Answered": { "N": "0" }, "Tags": { "L": [ { "S": "items" }, { "S": "attributes" }, { "S": "throughput" } ] } } } }, { "PutRequest": { "Item": { "ForumName": { "S": "Amazon S3" }, "Subject": { "S": "S3 Thread 1" }, "Message": { "S": "S3 thread 1 message" }, "LastPostedBy": { "S": "User A" }, "LastPostedDateTime": { "S": "2015-09-29T19:58:22.514Z" }, "Views": { "N": "0" }, "Replies": { "N": "0" }, "Answered": { "N": "0" }, "Tags": { "L": [ { "S": "largeobjects" }, { "S": "multipart upload" } ] } } } } ] }

Reply 샘플 데이터

{ "Reply": [ { "PutRequest": { "Item": { "Id": { "S": "Amazon DynamoDB#DynamoDB Thread 1" }, "ReplyDateTime": { "S": "2015-09-15T19:58:22.947Z" }, "Message": { "S": "DynamoDB Thread 1 Reply 1 text" }, "PostedBy": { "S": "User A" } } } }, { "PutRequest": { "Item": { "Id": { "S": "Amazon DynamoDB#DynamoDB Thread 1" }, "ReplyDateTime": { "S": "2015-09-22T19:58:22.947Z" }, "Message": { "S": "DynamoDB Thread 1 Reply 2 text" }, "PostedBy": { "S": "User B" } } } }, { "PutRequest": { "Item": { "Id": { "S": "Amazon DynamoDB#DynamoDB Thread 2" }, "ReplyDateTime": { "S": "2015-09-29T19:58:22.947Z" }, "Message": { "S": "DynamoDB Thread 2 Reply 1 text" }, "PostedBy": { "S": "User A" } } } }, { "PutRequest": { "Item": { "Id": { "S": "Amazon DynamoDB#DynamoDB Thread 2" }, "ReplyDateTime": { "S": "2015-10-05T19:58:22.947Z" }, "Message": { "S": "DynamoDB Thread 2 Reply 2 text" }, "PostedBy": { "S": "User A" } } } } ] }