UpdateTable - Amazon DynamoDB

UpdateTable

重要

本节介绍已经弃用的 API 版本 2011-12-05,不应用于新应用程序。

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

描述

更新给定表的预置吞吐量。设置表的吞吐量有助于管理性能,是 DynamoDB 预置吞吐量功能的一部分。有关更多信息,请参阅 DynamoDB 预置容量模式

可以根据 Amazon DynamoDB 中的服务、账户和表限额 中列出的最大和最小值,升级或降级预置吞吐量值。

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

请求

语法

// 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 的值组成。请参阅 DynamoDB 预置容量模式

类型:数组

ProvisionedThroughput :ReadCapacityUnits

设置 DynamoDB 平衡负载和其他操作前,指定表每秒消耗的一致 ReadCapacityUnits 的最小数量。

最终一致读取操作需要的资源少于一致读取操作,因此,设置每秒 50 个一致的 ReadCapacityUnits 可提供每秒 100 个最终一致的 ReadCapacityUnits

类型:数字

ProvisionedThroughput :WriteCapacityUnits

设置 DynamoDB 平衡负载和其他操作前,指定表每秒消耗的 WriteCapacityUnits 的最小数量。

类型:数字

响应

语法

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 的名称-值对是可选的(只有复合主键需要)。Hash 键最大为 2048 字节。Range 键最大为 1024 字节。这两个限制单独执行(即,可以组合 hash + range 2048 + 1024 键)。有关主键的更多信息,请参阅 主键

类型:HashKeyElement 的映射,或者复合主键的 HashKeyElementRangeKeyElement

ProvisionedThroughput

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

类型:数组

TableName

已更新的表的名称。

类型:字符串

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

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

类型:字符串

特殊错误

错误 描述
ResourceNotFoundException 找不到指定表。
ResourceInUseException 表不处于 ACTIVE 状态。

示例

示例请求

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

示例响应

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