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
|
テーブルのプライマリキー (シンプルまたは複合) 構造。 プライマリキー要素の名前は 1~255 文字の長さで、使用できる文字の制限はありません。 AttributeType に指定できる値は、「S」(文字列)、「N」(数値)、または「B」(バイナリ) です。 型: 複合プライマリキーの |
はい |
ProvisionedThroughput
|
指定したテーブルの新しいスループット (ReadCapacityUnits と WriteCapacityUnits の値で構成されます)。詳細については、「DynamoDB プロビジョンドキャパシティモード」を参照してください。注記現在の最大値/最小値については、「Amazon DynamoDB のサービス、アカウント、およびテーブルのクォータ」を参照してください。 型: 配列 |
はい |
ProvisionedThroughput :
ReadCapacityUnits |
DynamoDB がロードとその他のオペレーションのバランスを取る前に、指定したテーブルで 1 秒あたりに消費される整合性のある 結果整合性のある読み込みオペレーションに必要な労力は、整合性のある読み込みオペレーションより少ないので、1 秒あたり 50 の整合性のある 型: 数値 |
はい |
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
|
テーブルのプライマリキー (シンプルまたは複合) 構造。 型: 複合プライマリキーの |
ProvisionedThroughput
|
指定したテーブルのスループット ( 型: 配列 |
ProvisionedThroughput
:ReadCapacityUnits |
DynamoDB がロードとその他のオペレーションのバランスを取る前に 1 秒あたりに消費される 型: 数値 |
ProvisionedThroughput
:WriteCapacityUnits |
型: 数値 |
TableName
|
作成されたテーブルの名前。 型: 文字列 |
TableStatus
|
テーブルの現在の状態 ( テーブルのステータスを確認するには、DescribeTables API を使用します。 型: 文字列 |
特殊なエラー
エラー | 説明 |
---|---|
ResourceInUseException
|
既存のテーブルを再度作成しようとしました。 |
LimitExceededException
|
同時テーブルリクエストの数 ( 注記現在の最大値/最小値については、「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" } }