本文将通过参数说明和示例代码为您介绍如何使用 Go SDK 更新表配置。在更新数据表时,您可以修改表的配置信息(例如数据生命周期、最大版本数、有效版本偏差等)和 Stream 配置。此外,您还可以为 CU 模式(原按量模式)下高性能型实例中数据表调整预留读写吞吐量。
前提条件
已初始化 Client。具体操作,请参见初始化 OTSClient。
已创建数据表。具体操作,请参见创建数据表。
接口
//更新数据表配置(TableOption、ReservedThroughput或StreamSpec)。
UpdateTable(request *UpdateTableRequest) (*UpdateTableResponse, error)
参数说明
更多信息,请参见参数说明。
示例
更新数据表配置
以下示例用于修改数据表的配置信息。
func UpdateTable(client *tablestore.TableStoreClient, tableName string) {
updateTableReq := new(tablestore.UpdateTableRequest)
//设置数据表名称。
updateTableReq.TableName = tableName
updateTableReq.TableOption = new(tablestore.TableOption)
//数据的过期时间,-1表示永不过期。
updateTableReq.TableOption.TimeToAlive = -1
//最大版本数,属性列值最多保留5个版本。
updateTableReq.TableOption.MaxVersion = 5
//有效版本偏差,即写入数据的时间戳与系统当前时间的偏差允许最大值为86400秒(1天)。
updateTableReq.TableOption.DeviationCellVersionInSec = 86400
//允许UpdateRow相关更新写入操作。
updateTableReq.TableOption.AllowUpdate = proto.Bool(true)
//开启Stream功能,设置stream过期时间为24小时。
//updateTableReq.StreamSpec = new(tablestore.StreamSpecification)
//updateTableReq.StreamSpec.EnableStream = true
//updateTableReq.StreamSpec.ExpirationTime = 24
_, err := client.UpdateTable(updateTableReq)
if (err != nil) {
fmt.Println("failed to update table with error:", err)
} else {
fmt.Println("update finished")
}
}
更新 CU 模式下高性能型实例中数据表的预留吞吐量
以下示例用于修改 CU 模式下高性能型实例中数据表的预留吞吐量 。
func UpdateTable(client *tablestore.TableStoreClient, tableName string) {
updateTableReq := new(tablestore.UpdateTableRequest)
//设置数据表名称。
updateTableReq.TableName = tableName
updateTableReq.ReservedThroughput = new(tablestore.ReservedThroughput)
//设置新的预留读吞吐量为1,写吞吐量为1。容量型实例下的数据表只能设置为0。
updateTableReq.ReservedThroughput.Readcap = 1
updateTableReq.ReservedThroughput.Writecap = 1
_, err := client.UpdateTable(updateTableReq)
if (err != nil) {
fmt.Println("failed to update table with error:", err)
} else {
fmt.Println("update finished")
}
}
相关文档
关于 API 说明的更多信息,请参见 UpdateTable。
更新表配置后,您可能需要以下操作:
文档内容是否对您有帮助?