更新表配置

本文将通过参数说明和示例代码为您介绍如何使用 Go SDK 更新表配置。在更新数据表时,您可以修改表的配置信息(例如数据生命周期、最大版本数、有效版本偏差等)和 Stream 配置。此外,您还可以为 CU 模式(原按量模式)下高性能型实例中数据表调整预留读写吞吐量。

前提条件

接口

//更新数据表配置(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

  • 更新表配置后,您可能需要以下操作: