

# CreateTable
<a name="API_CreateTable_v20111205"></a>

**重要**  
***本节介绍已经弃用的 API 版本 2011-12-05，不应用于新应用程序。***  
 **有关当前低级别 API 的文档，请参阅 [Amazon DynamoDB API 参考](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/)。**

## 描述
<a name="API_CreateTable_Description"></a>

`CreateTable` 操作将一个新表添加到您的账户。

表名称在发出请求的 AWS 账户的关联区域，以及接收请求的 AWS 区域（例如 dynamodb.us-west-2.amazonaws.com）中必须唯一。每个 DynamoDB 端点完全独立。例如，如果您有两个名为“MyTable”的表，一个位于 dynamodb.us-west-2.amazonaws.com，另一个位于 dynamodb.us-west-1.amazonaws.com，则这两个表完全独立，不共享任何数据。

`CreateTable` 操作触发异步工作流，开始创建表。DynamoDB 立即返回表的状态 (`CREATING`)，直到表处于 `ACTIVE` 状态。表处于 `ACTIVE` 状态后，可以执行数据层面操作。

使用 [DescribeTables](API_DescribeTables_v20111205.md) 操作检查表的状态。

## 请求
<a name="API_CreateTable_RequestParameters"></a>

### 语法
<a name="API_CreateTable_RequestParameters.syntax"></a>

```
// 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、“\$1”（下划线）、“-”（短划线）和“.”（点号）。名称长度在 3 和 255 个字符之间。 类型：字符串  |  是  | 
|  KeySchema  | 表的主键（简单或复合）结构。`HashKeyElement` 的名称-值对是必填的，`RangeKeyElement` 的名称-值对是可选的（只有复合主键需要）。有关主键的更多信息，请参阅 [主键](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey)。主键元素名称长度可以在 1 到 255 个字符之间，没有字符限制。 AttributeType 的可能值包括“S”（字符串）、“N”（数字）或“B”（二进制）。类型：`HashKeyElement` 的映射，或者复合主键的 `HashKeyElement` 和 `RangeKeyElement`。 | 是 | 
|  ProvisionedThroughput  | 指定表的新吞吐量，由 ReadCapacityUnits 和 WriteCapacityUnits 的值组成。有关详细信息，请参阅 [DynamoDB 预置容量模式](provisioned-capacity-mode.md)。 有关当前最大值/最小值，请参阅 [Amazon DynamoDB 中的配额](ServiceQuotas.md)。 类型：数组  | 是 | 
| ProvisionedThroughput: ReadCapacityUnits |  设置 DynamoDB 平衡负载和其他操作前，指定表每秒消耗的一致 `ReadCapacityUnits` 的最小数量。 最终一致读取操作需要的资源少于一致读取操作，因此，设置每秒 50 个一致的 `ReadCapacityUnits` 可提供每秒 100 个最终一致的 `ReadCapacityUnits`。类型：数字  | 是 | 
| ProvisionedThroughput: WriteCapacityUnits | 设置 DynamoDB 平衡负载和其他操作前，指定表每秒消耗的 WriteCapacityUnits 的最小数量。类型：数字  | 是 | 

## 响应
<a name="API_CreateTable_CommonResponseElements"></a>

### 语法
<a name="API_CreateTable_CommonResponseElements.syntax"></a>

```
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 纪元时间](http://www.epochconverter.com/) 表示的表创建日期。类型：数字 | 
| KeySchema  | 表的主键（简单或复合）结构。`HashKeyElement` 的名称-值对是必填的，`RangeKeyElement` 的名称-值对是可选的（只有复合主键需要）。有关主键的更多信息，请参阅 [主键](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey)。类型：`HashKeyElement` 的映射，或者复合主键的 `HashKeyElement` 和 `RangeKeyElement`。 | 
| ProvisionedThroughput  |  指定的表的吞吐量，由 `ReadCapacityUnits` 和 `WriteCapacityUnits` 的值组成。请参阅 [DynamoDB 预置容量模式](provisioned-capacity-mode.md)。 类型：数组   | 
| ProvisionedThroughput :ReadCapacityUnits |  DynamoDB 平衡负载和其他操作前，每秒消耗的 `ReadCapacityUnits` 的最小数量。类型：数字  | 
| ProvisionedThroughput :WriteCapacityUnits |  `WriteCapacityUnits` 平衡负载和其他操作前，每秒消耗的 `ReadCapacityUnits` 的最小数量。类型：数字  | 
|  TableName  |  创建的表的名称。 类型：字符串  | 
|  TableStatus  | 表的当前状态 (`CREATING`)。表处于 `ACTIVE` 状态后，可以将数据放入其中。使用 [DescribeTables](API_DescribeTables_v20111205.md) API 检查表的状态。类型：字符串 | 

## 特殊错误
<a name="API_CreateTable_SpecialErrors"></a>


****  

|  错误  |  描述  | 
| --- | --- | 
|  ResourceInUseException  | 尝试重新创建已存在的表。 | 
|  LimitExceededException  | 同时表请求的数量（`CREATING`、`DELETING` 或 `UPDATING` 状态的表数量总和）超过允许的最大值。 有关当前最大值/最小值，请参阅 [Amazon DynamoDB 中的配额](ServiceQuotas.md)。 .  | 

## 示例
<a name="API_CreateTable_Examples"></a>

下面的示例创建具有复合主键的表，其中包含字符串和数字。有关使用 AWS SDK 的示例，请参阅 [使用 DynamoDB 中的表和数据](WorkingWithTables.md)。

### 示例请求
<a name="API_CreateTable_Examples_Request"></a>

```
// 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}
}
```

### 示例响应
<a name="API_CreateTable_Examples_Response"></a>

```
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"
    }
}
```

## 相关操作
<a name="API_CreateTable_Related_Actions"></a>
+  [DescribeTables](API_DescribeTables_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md)