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, 로컬 설치가 무시합니다.