本文介绍如何通过 Go SDK 更新表的配置信息。
前提条件
方法说明
func (tableStoreClient *TableStoreClient) UpdateTable(request *UpdateTableRequest) (*UpdateTableResponse, error)
说明
调用
UpdateTable()
方法时,必须设置TableOption、StreamSpec、ReservedThroughput中的至少一项。设置 TableOption 时,必须设置 TimeToAlive 和 MaxVersion 参数。
示例代码
以下示例代码用于修改test_table表的配置信息。
func UpdateTableSample(client *tablestore.TableStoreClient) {
updateTableReq := new(tablestore.UpdateTableRequest)
updateTableReq.TableName = "test_table"
// 表配置信息
updateTableReq.TableOption = new(tablestore.TableOption)
// 设置数据生命周期,单位为秒
updateTableReq.TableOption.TimeToAlive = 86400
// 设置最大版本数
updateTableReq.TableOption.MaxVersion = 3
// 设置有效版本偏差,单位为秒
updateTableReq.TableOption.DeviationCellVersionInSec = 86400
// 设置是否允许更新
updateTableReq.TableOption.AllowUpdate = proto.Bool(false)
// 开启Stream信息,并设置Stream过期时间为7天
updateTableReq.StreamSpec = new(tablestore.StreamSpecification)
updateTableReq.StreamSpec.EnableStream = true
updateTableReq.StreamSpec.ExpirationTime = 168
// 设置预留读为0CU,预留写为0CU(仅CU模式高性能实例支持设置数据表的预留读写吞吐量为非零值)
updateTableReq.ReservedThroughput = new(tablestore.ReservedThroughput)
updateTableReq.ReservedThroughput.Readcap = 0
updateTableReq.ReservedThroughput.Writecap = 0
// 调用UpdateTable方法修改表配置
_, err := client.UpdateTable(updateTableReq)
if (err != nil) {
fmt.Println("Failed to update table with error:", err)
} else {
fmt.Println("Update table finished.")
}
}
相关文档
该文章对您有帮助吗?