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,则这两个表完全独立,不共享任何数据。
CreateTable
操作触发异步工作流,开始创建表。DynamoDB 立即返回表的状态 (CREATING
),直到表处于 ACTIVE
状态。表处于 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 平衡负载和其他操作前,指定表每秒消耗的一致 最终一致读取操作需要的资源少于一致读取操作,因此,设置每秒 50 个一致的 类型:数字 |
是 |
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 纪元时间 类型:数字 |
KeySchema
|
表的主键(简单或复合)结构。 类型: |
ProvisionedThroughput
|
指定的表的吞吐量,由 类型:数组 |
ProvisionedThroughput
:ReadCapacityUnits |
DynamoDB 平衡负载和其他操作前,每秒消耗的 类型:数字 |
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" } }