使用UpdateTable接口可以更新指定数据表的配置信息、Stream配置以及高性能实例中的数据表的预留读/写吞吐量。
前提条件
已初始化Client。具体操作,请参见初始化OTSClient。
已创建数据表。具体操作,请参见创建数据表。
接口
/**
* 更新一个数据表,包括数据表的配置信息、Stream配置和预留读写吞吐量。
* 此API可以用来上调或者下调数据表的预留读写吞吐量。
* @api
* @param [] $request 请求参数。
* @return [] 请求返回。
* @throws OTSClientException 当参数检查出错或服务端返回校验出错时抛出异常。
* @throws OTSServerException 当OTS服务端返回错误时抛出异常。
*/
public function updateTable(array $request);
参数
请求信息
请求参数
参数 | 说明 |
table_name | 数据表名称。 |
table_options | 数据表的配置信息。更多信息,请参见数据版本和生命周期。 配置信息包括如下内容:
|
reserved_throughput | 为数据表配置预留读吞吐量或预留写吞吐量。 说明 ReservedThroughput的调整有时间间隔限制,目前为1分钟。 容量型实例中的数据表的预留读/写吞吐量只能设置为0,不允许预留。 默认值为0,即完全按量计费。 单位为CU。
|
stream_spec | Stream相关设置(可选配置)。
|
请求格式
$result = $client->updateTable([
'table_name' => '<string>', //设置数据表名称,必须设置。
'reserved_throughput' => [
'capacity_unit' => [
'read' => <integer>,
'write' => <integer>
]
],
'table_options' => [
'time_to_live' => <integer>,
'max_versions' => <integer>,
'deviation_cell_version_in_sec' => <integer>
],
'stream_spec' => [
'enable_stream' => true || false,
'expiration_time' => <integer>
]
]);
响应信息
响应参数
参数 | 说明 |
capacity_unit_details | 数据表的预留读/写吞吐量配置详情,包括如下内容:
|
table_options | 数据表的配置信息,包含time_to_live、max_versions和deviation_cell_version_in_sec配置,和请求时一致。 |
stream_details | 数据表的Stream信息,包括如下内容:
|
结果格式
[
'capacity_unit_details' => [
'capacity_unit' => [
'read' => <integer>,
'write' => <integer>
],
'last_increase_time' => <integer>,
'last_decrease_time' => <integer>
],
'table_options' => [
'time_to_live' => <integer>,
'max_versions' => <integer>,
'deviation_cell_version_in_sec' => <integer>
],
'stream_details' => [
'enable_stream' => true || false,
'stream_id' => '<string>',
'expiration_time' => <integer>,
'last_enable_time' => <integer>
]
]
示例
更新数据表的预留吞吐量
以下示例用于更新数据表的预留读吞吐量为1,预留写吞吐量为2。
$result = $client->updateTable([
'table_name' => 'SampleTable',
'reserved_throughput' => [
'capacity_unit' => [
'read' => 1, //可以单独更新预留读吞吐量或者预留写吞吐量。
'write' => 2
]
]
]);
更新数据表的生命周期
以下示例用于更新数据表的数据生命周期为一天(即86400秒),最大版本数为2, 有效版本偏差为10秒。
$result = $client->updateTable([
'table_name' => 'SampleTable',
'table_options' => [
'time_to_live' => 86400,
'max_versions' => 2,
'deviation_cell_version_in_sec' => 10
]
]);
更新数据表的Stream
以下示例用于打开数据表的Stream,并设置过期时间为24小时。
$result = $client->updateTable([
'table_name' => 'SampleTable',
'stream_spec' => [
'enable_stream' => true,
'expiration_time' => 24
]
]);
相关文档
关于API说明的更多信息,请参见UpdateTable。
如果要查看更新后的表配置信息,您可以通过查询表的描述信息实现。具体操作,请参见查询表描述信息。
如果要读写表中数据,您可以通过调用读写数据接口实现。具体操作,请参见基础数据操作。