DynamoDB-테이블 생성

테이블 생성은 일반적으로 테이블 생성, 이름 지정, 기본 키 속성 설정 및 속성 데이터 유형 설정으로 구성됩니다.

GUI 콘솔, Java 또는 다른 옵션을 사용하여 이러한 작업을 수행하십시오.

GUI 콘솔을 사용하여 테이블 생성

콘솔에 액세스하여 테이블을 만듭니다. https://console.aws.amazon.com/dynamodb. 그런 다음 "테이블 만들기"옵션을 선택합니다.

이 예에서는 ID 번호 (숫자 속성)로 식별되는 고유 한 속성의 제품과 함께 제품 정보로 채워진 테이블을 생성합니다. 에서Create Table화면에서 테이블 이름 필드에 테이블 이름을 입력합니다. 파티션 키 필드에 기본 키 (ID)를 입력하십시오. 데이터 유형으로 "숫자"를 입력합니다.

모든 정보를 입력 한 후 Create.

Java를 사용하여 테이블 생성

Java를 사용하여 동일한 테이블을 만듭니다. 기본 키는 다음 두 가지 속성으로 구성됩니다.

  • ID − 파티션 키와 ScalarAttributeType 사용 N, 의미 숫자.

  • Nomenclature − 정렬 키와 ScalarAttributeType 사용 S, 의미 문자열.

Java는 createTable method테이블을 생성하기 위해; 호출 내에서 테이블 이름, 기본 키 속성 및 속성 데이터 유형이 지정됩니다.

다음 예를 검토 할 수 있습니다.

import java.util.Arrays;
 
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient; 
import com.amazonaws.services.dynamodbv2.document.DynamoDB; 
import com.amazonaws.services.dynamodbv2.document.Table; 

import com.amazonaws.services.dynamodbv2.model.AttributeDefinition; 
import com.amazonaws.services.dynamodbv2.model.KeySchemaElement; 
import com.amazonaws.services.dynamodbv2.model.KeyType; 
import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; 
import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType;
 
public class ProductsCreateTable {  
   public static void main(String[] args) throws Exception { 
      AmazonDynamoDBClient client = new AmazonDynamoDBClient() 
         .withEndpoint("http://localhost:8000");  
      
      DynamoDB dynamoDB = new DynamoDB(client); 
      String tableName = "Products";  
      try { 
         System.out.println("Creating the table, wait..."); 
         Table table = dynamoDB.createTable (tableName, 
            Arrays.asList ( 
               new KeySchemaElement("ID", KeyType.HASH), // the partition key 
                                                         // the sort key 
               new KeySchemaElement("Nomenclature", KeyType.RANGE)
            ),
            Arrays.asList ( 
               new AttributeDefinition("ID", ScalarAttributeType.N), 
               new AttributeDefinition("Nomenclature", ScalarAttributeType.S)
            ),
            new ProvisionedThroughput(10L, 10L)
         );
         table.waitForActive(); 
         System.out.println("Table created successfully.  Status: " + 
            table.getDescription().getTableStatus());
            
      } catch (Exception e) {
         System.err.println("Cannot create the table: "); 
         System.err.println(e.getMessage()); 
      } 
   } 
}

위의 예에서 엔드 포인트를 확인합니다. .withEndpoint.

localhost를 사용하여 로컬 설치를 사용함을 나타냅니다. 또한 필수ProvisionedThroughput parameter, 로컬 설치가 무시합니다.