CreateTable - Amazon DynamoDB

CreateTable

重要

このセクションでは、API バージョン 2011-12-05 について言及しています。これは非推奨なので、新しいアプリケーションに使用しないでください。

現在の低レベルの API に関するドキュメントについては、Amazon DynamoDB API リファレンスを参照してください。

説明

CreateTable オペレーションは新しいテーブルをアカウントに追加します。

テーブル名は、リクエストを発行する AWS アカウントに関連付けられている名前と、リクエストを受信する AWS リージョン (dynamodb.us-west-2.amazonaws.com など) の中で一意である必要があります。各 DynamoDB エンドポイントは完全に独立しています。例えば、"MyTable" というテーブルが dynamodb.us-west-2.amazonaws.com と dynamodb.us-west-1.amazonaws.com にある場合、この 2 つの "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 文字の長さです。

型: 文字列

はい
KeySchema

テーブルのプライマリキー (シンプルまたは複合) 構造。HashKeyElement の名前と値のペアは必須です。RangeKeyElement の名前と値のペアはオプションです (複合プライマリキーにのみ必要)。プライマリキーの詳細については、「プライマリキー」を参照してください。

プライマリキー要素の名前は 1~255 文字の長さで、使用できる文字の制限はありません。

AttributeType に指定できる値は、「S」(文字列)、「N」(数値)、または「B」(バイナリ) です。

型: 複合プライマリキーの HashKeyElement、または HashKeyElement および RangeKeyElement のマップ。

はい
ProvisionedThroughput 指定したテーブルの新しいスループット (ReadCapacityUnitsWriteCapacityUnits の値で構成されます)。詳細については、「DynamoDB プロビジョンドキャパシティモード」を参照してください。
注記

現在の最大値/最小値については、「Amazon DynamoDB のサービス、アカウント、およびテーブルのクォータ」を参照してください。

型: 配列

はい
ProvisionedThroughput: ReadCapacityUnits

DynamoDB がロードとその他のオペレーションのバランスを取る前に、指定したテーブルで 1 秒あたりに消費される整合性のある ReadCapacityUnits の最小数を設定します。

結果整合性のある読み込みオペレーションに必要な労力は、整合性のある読み込みオペレーションより少ないので、1 秒あたり 50 の整合性のある ReadCapacityUnits の設定では、1 秒あたり 100 の結果整合性のある ReadCapacityUnits が実現します。

型: 数値

はい
ProvisionedThroughput: WriteCapacityUnits DynamoDB がロードとその他のオペレーションのバランスを取る前に、指定したテーブルで 1 秒あたりに消費される整合性のある 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 エポック時間)。

型: 数値

KeySchema

テーブルのプライマリキー (シンプルまたは複合) 構造。HashKeyElement の名前と値のペアは必須です。RangeKeyElement の名前と値のペアはオプションです (複合プライマリキーにのみ必要)。プライマリキーの詳細については、「プライマリキー」を参照してください。

型: 複合プライマリキーの HashKeyElement、または HashKeyElement および RangeKeyElement のマップ。

ProvisionedThroughput

指定したテーブルのスループット (ReadCapacityUnitsWriteCapacityUnits の値で構成されます)。「DynamoDB プロビジョンドキャパシティモード」を参照してください。

型: 配列

ProvisionedThroughput :ReadCapacityUnits

DynamoDB がロードとその他のオペレーションのバランスを取る前に 1 秒あたりに消費される ReadCapacityUnits の最小数。

型: 数値

ProvisionedThroughput :WriteCapacityUnits

WriteCapacityUnits がロードとその他のオペレーションのバランスを取る前に 1 秒あたりに消費される ReadCapacityUnits の最小数。

型: 数値

TableName

作成されたテーブルの名前。

型: 文字列

TableStatus

テーブルの現在の状態 (CREATING)。テーブルが ACTIVE 状態になったらデータを配置できます。

テーブルのステータスを確認するには、DescribeTables API を使用します。

型: 文字列

特殊なエラー

エラー 説明
ResourceInUseException 既存のテーブルを再度作成しようとしました。
LimitExceededException

同時テーブルリクエストの数 (CREATINGDELETING、または 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" } }