Amazon DynamoDB
开发人员指南 (API Version 2012-08-10)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

UpdateTable

重要

本节引用 API 版本 2011-12-05,此版本已被弃用且不应该用于新应用程序。

有关当前低级 API 的文档,请参阅 Amazon DynamoDB API Reference

说明

更新给定表的预置吞吐量。设置表的吞吐量有助于管理性能,也是 DynamoDB 预置吞吐量功能的一部分。有关更多信息,请参阅 读取和写入的吞吐量设置

根据DynamoDB 中的限制中列出的最大值和最小值,预置的吞吐量值可以升级或降级。

表必须处于 ACTIVE 状态才能使此操作成功。UpdateTable 是一个异步操作;在执行此操作时,表处于 UPDATING 状态。当表处于 UPDATING 状态时,表仍具有在执行调用前的预置吞吐量。仅当 UpdateTable 操作后,表返回到 ACTIVE 状态时,新的预置吞吐量设置才生效。

请求

语法

Copy
// This header is abbreviated. // For a sample of a complete header, see DynamoDB 低级 API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.UpdateTable content-type: application/x-amz-json-1.0 {"TableName":"Table1", "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":15} }

名称 描述 必需
TableName

要更新的表的名称。

类型:字符串

ProvisionedThroughput

指定的表的新吞吐量,由 ReadCapacityUnitsWriteCapacityUnits 的值组成。请参阅读取和写入的吞吐量设置

类型:数组

ProvisionedThroughput :ReadCapacityUnits

在 DynamoDB 与其他操作均衡加载前,给指定的表设置每秒一致性使用的最小 ReadCapacityUnits 数值。

最终一致性读取操作所需的工作量要少于常规一致性读取操作,所以,一组每秒 50 次的一致性 ReadCapacityUnits 操作会实现最终每秒 100 次一致性 ReadCapacityUnits 操作。

类型:数字

ProvisionedThroughput :WriteCapacityUnits

在 DynamoDB 与其他操作均衡加载前,给指定的表设置每秒使用的最小 WriteCapacityUnits 数值。

类型:数字

响应

语法

Copy
HTTP/1.1 200 OK x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG Content-Type: application/json Content-Length: 311 Date: Tue, 12 Jul 2011 21:31:03 GMT {"TableDescription": {"CreationDateTime":1.321657838135E9, "KeySchema": {"HashKeyElement":{"AttributeName":"AttributeValue1","AttributeType":"S"}, "RangeKeyElement":{"AttributeName":"AttributeValue2","AttributeType":"N"}}, "ProvisionedThroughput": {"LastDecreaseDateTime":1.321661704489E9, "LastIncreaseDateTime":1.321663607695E9, "ReadCapacityUnits":5, "WriteCapacityUnits":10}, "TableName":"Table1", "TableStatus":"UPDATING"}}

名称 描述
CreationDateTime

创建表时的日期。

类型:数字

KeySchema

表的主键(简单或者复合)结构。HashKeyElement 的名称/值对是内容,而 RangeKeyElement 的名称/值对为可选内容(只有复合主键才需要该内容)。最大哈希键大小为 2048 字节。最大范围键大小为 1024 字节。两个限制是分别实施的(即,您可以有一个哈希 + 范围 2048 + 1024 组合键)。有关主键的更多信息,请参阅 主键

类型:复合主键的 HashKeyElementHashKeyElementRangeKeyElement 的映射。

ProvisionedThroughput

指定的表的当前吞吐量设置,包括 LastIncreaseDateTime(如果适用)、LastDecreaseDateTime(如果适用)的值。

类型:数组

TableName

已更新的表的名称。

类型:字符串

TableStatus 该表的当前状态(CREATINGACTIVEDELETINGUPDATING),应为 UPDATING

使用 DescribeTables 操作查看表的状态。

类型:字符串

特殊错误

错误 说明
ResourceNotFoundException 找不到指定的表。
ResourceInUseException 该表未处于 ACTIVE 状态。

示例

示例请求

Copy
// This header is abbreviated. // For a sample of a complete header, see DynamoDB 低级 API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.UpdateTable content-type: application/x-amz-json-1.0 {"TableName":"comp1", "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":15} }

示例响应

Copy
HTTP/1.1 200 OK content-type: application/x-amz-json-1.0 content-length: 390 Date: Sat, 19 Nov 2011 00:46:47 GMT {"TableDescription": {"CreationDateTime":1.321657838135E9, "KeySchema": {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"}, "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}}, "ProvisionedThroughput": {"LastDecreaseDateTime":1.321661704489E9, "LastIncreaseDateTime":1.321663607695E9, "ReadCapacityUnits":5, "WriteCapacityUnits":10}, "TableName":"comp1", "TableStatus":"UPDATING"} }