CreateTable - Amazon DynamoDB

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

CreateTable

중요

이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.

현재 하위 수준 API에 대한 설명서는 Amazon DynamoDB API 참조 섹션을 참조하세요.

설명

CreateTable 작업은 사용자 계정에 새 테이블을 추가합니다.

이 테이블 이름은 요청을 실행하는 AWS 계정 및 요청을 수신하는 AWS 리전(예: dynamodb.us-west-2.amazonaws.com)과 연동된 테이블 이름과 달라야 합니다. 각 DynamoDB 엔드포인트는 완전히 독립적입니다. 예를 들어, dynamodb.us-west-2.amazonaws.com 및 dynamodb.us-west-1.amazonaws.com에 "MyTable"이라는 테이블이 각각 있는 경우 해당 테이블은 완전히 독립적이며 데이터를 공유하지 않습니다.

CreateTable 작업은 비동기 워크플로를 트리거하여 테이블 만들기를 시작합니다. DynamoDB는 테이블이 ACTIVE 상태가 될 때까지 테이블 상태(CREATING)를 즉시 반환합니다. 테이블이 ACTIVE 상태인 경우 데이터 플레인 작업을 수행할 수 있습니다.

DescribeTables 작업을 사용하여 테이블 상태를 확인합니다.

요청

구문

// This header is abbreviated. // For a sample of a complete header, see DynamoDB 하위 수준 API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.CreateTable content-type: application/x-amz-json-1.0 {"TableName":"Table1", "KeySchema": {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"}, "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}}, "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10} }
이름 설명 필수
TableName

생성할 테이블 이름.

허용되는 문자는 a~z, A~Z, 0~9, '_'(밑줄), '-'(대시) 및 '.'(점)입니다. 이름에 포함되는 문자 길이는 3~255자입니다.

유형: String

KeySchema

테이블의 기본 키(단순 또는 복합) 구조. HashKeyElement에서는 이름-값 페어가 필수이지만 RangeKeyElement에서는 선택 사항입니다(복합 기본 키의 경우에만 필요함). 기본 키에 대한 자세한 내용은 프라이머리 키 단원을 참조하세요.

기본 키 요소 이름은 1~255자로 지정할 수 있으며 문자에는 제한이 없습니다.

AttributeType에 대해 가능한 값은 "S"(문자열), "N"(숫자) 또는 "B"(이진수)입니다.

형식: HashKeyElement 맵, 또는 복합 기본 키의 HashKeyElementRangeKeyElement

ProvisionedThroughput 지정 테이블의 새로운 처리량으로서 ReadCapacityUnits 값과 WriteCapacityUnits 값으로 구성됩니다. 자세한 내용은 DynamoDB 프로비저닝된 용량 테이블의 설정 관리 단원을 참조하세요.
참고

현재 최대값/최소값은 Amazon DynamoDB의 서비스, 계정 및 테이블 할당량를 참조하세요.

형식: 배열

ProvisionedThroughput: ReadCapacityUnits

DynamoDB가 다른 작업과 로드 밸런스를 맞출 때까지 지정 테이블에서 사용되는 consistent ReadCapacityUnits의 초당 최소 수를 설정합니다.

Eventually consistent read 작업은 consistent read 작업에 비해 필요한 부하가 적습니다. 따라서 초당 consistent ReadCapacityUnits를 50으로 설정하면 초당 eventually consistent ReadCapacityUnits는 100이 됩니다.

형식: 숫자

ProvisionedThroughput: WriteCapacityUnits DynamoDB가 다른 작업과 로드 밸런스를 맞출 때까지 지정 테이블에서 사용되는 WriteCapacityUnits의 초당 최소 수를 설정합니다.

형식: 숫자

응답

구문

HTTP/1.1 200 OK x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG content-type: application/x-amz-json-1.0 content-length: 311 Date: Tue, 12 Jul 2011 21:31:03 GMT {"TableDescription": {"CreationDateTime":1.310506263362E9, "KeySchema": {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"}, "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}}, "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10}, "TableName":"Table1", "TableStatus":"CREATING" } }
이름 설명
TableDescription 테이블 속성에 대한 컨테이너
CreationDateTime

UNIX epoch 시간 형식의 테이블 생성 날짜

형식: 숫자

KeySchema

테이블의 기본 키(단순 또는 복합) 구조. HashKeyElement에서는 이름-값 페어가 필수이지만 RangeKeyElement에서는 선택 사항입니다(복합 기본 키의 경우에만 필요함). 기본 키에 대한 자세한 내용은 프라이머리 키 단원을 참조하세요.

형식: HashKeyElement 맵, 또는 복합 기본 키의 HashKeyElementRangeKeyElement

ProvisionedThroughput

지정 테이블의 처리량으로서 ReadCapacityUnits 값과 WriteCapacityUnits 값으로 구성됩니다. DynamoDB 프로비저닝된 용량 테이블의 설정 관리 섹션을 참조하세요.

형식: 배열

ProvisionedThroughput :ReadCapacityUnits

DynamoDB가 다른 작업과 로드 밸런스를 맞출 때까지 사용되는 ReadCapacityUnits의 초당 최소 수입니다.

형식: 숫자

ProvisionedThroughput :WriteCapacityUnits

WriteCapacityUnits가 다른 작업과 로드 밸런스를 맞출 때까지 사용되는 ReadCapacityUnits의 초당 최소 수입니다.

형식: 숫자

TableName

생성된 테이블 이름

유형: String

TableStatus

현재 테이블 상태(CREATING) 테이블이 ACTIVE 상태일 때만 데이터를 입력할 수 있습니다.

DescribeTables API를 사용하여 테이블 상태를 확인합니다.

유형: String

특수 오류

오류 설명
ResourceInUseException 기존 테이블을 다시 만들려고 시도합니다.
LimitExceededException

동시 테이블 요청 수(CREATING, DELETING 또는 UPDATING 상태인 테이블의 누적 수)가 허용된 최대값을 초과합니다.

참고

현재 최대값/최소값은 Amazon DynamoDB의 서비스, 계정 및 테이블 할당량를 참조하세요.

.

예시

다음 예에서는 문자열과 숫자를 포함하는 복합 기본 키가 있는 테이블을 만듭니다. AWS SDK를 사용하는 예는 DynamoDB의 테이블 및 데이터 작업 단원을 참조하세요.

샘플 요청

// This header is abbreviated. // For a sample of a complete header, see DynamoDB 하위 수준 API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.CreateTable content-type: application/x-amz-json-1.0 {"TableName":"comp-table", "KeySchema": {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"}, "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}}, "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10} }

샘플 응답

HTTP/1.1 200 OK x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG content-type: application/x-amz-json-1.0 content-length: 311 Date: Tue, 12 Jul 2011 21:31:03 GMT {"TableDescription": {"CreationDateTime":1.310506263362E9, "KeySchema": {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"}, "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}}, "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10}, "TableName":"comp-table", "TableStatus":"CREATING" } }