更新表配置

更新时间:
复制为 MD 格式

通过 Python SDK调用 update_table() 方法,更新数据表的生命周期、最大版本数、有效版本偏差和预留读写吞吐量等配置。

前提条件

已初始化 Client。详情请参见初始化Tablestore Client

方法说明

def update_table(self, table_name, table_options=None, reserved_throughput=None)

参数说明

  • table_name(必选)str:数据表名称。

  • table_options(可选)TableOptions:表配置信息,包含以下参数。

    名称

    类型

    说明

    time_to_live(可选)

    int

    数据生命周期,单位为秒,默认值为 -1。

    设置为 -1 表示数据永不过期。设置为其他值时,最小值为 86400(1 天),超出生命周期的数据将被自动清除。

    使用多元索引或二级索引功能时,须将此参数设置为 -1,或将 allow_update 设置为 False。

    max_version(可选)

    int

    最大版本数,默认值为 1。

    • 使用多元索引或二级索引功能时,最大版本数必须设置为 1。

    max_time_deviation(可选)

    int

    有效版本偏差,单位为秒,默认值为 86400(1 天)。

    • 写入数据的时间戳与系统当前时间的差值必须在有效版本偏差范围内,否则写入操作将失败。

    • 属性列数据的有效版本范围为[max(数据写入时间-有效版本偏差, 数据写入时间-数据生命周期), 数据写入时间+有效版本偏差)

    allow_update(可选)

    bool

    是否允许更新行数据,默认值为 True。

    • 设置为 False 时,无法通过UpdateRow()方法更新数据。

  • reserved_throughput(可选)ReservedThroughput预留读写吞吐量,单位为 CU,默认值为 0。仅 CU 模式的高性能型实例支持设置非零值。

说明

调用update_table()方法时,table_options 和 reserved_throughput 至少需要设置其中一项。

示例代码

以下示例更新 test_table 表的配置信息。

# 配置表参数:生命周期 1 天、最大版本数 3、有效版本偏差 1 天、禁止更新
table_options = TableOptions(time_to_live=86400, max_version=3, max_time_deviation=86400, allow_update=False)

# 设置预留读写吞吐量为 0 CU(仅 CU 模式高性能实例支持设置非零值)
reserved_throughput = ReservedThroughput(CapacityUnit(0,0))

try:
    client.update_table('test_table', table_options, reserved_throughput)
    print("Update table succeeded.")
except Exception as e:
    print("Update table failed. %s" % e)

相关文档

更新时序表配置