当需要清理分析存储中的历史数据或者希望延长数据保存时间时,您可以使用UpdateTimeseriesAnalyticalStore接口更新时序分析存储的数据生命周期TTL配置。更新分析存储的TTL后,表格存储会自动异步清理分析存储中超过TTL的数据。
前提条件
已初始化客户端。具体操作,请参见初始化TimeseriesClient。
注意事项
分析存储的同步选项不支持更新。
分析存储的生命周期最短为30天(即2592000秒)。
创建分析存储时,如果设置的TTL不为-1,则表格存储会自动异步删除超过TTL的数据。您也可以通过UpdateTimeseriesAnalyticalStore接口修改分析存储的TTL。
超过TTL的过期数据为无效数据,即使系统还未删除数据,用户已无法读取对应数据。
当调小TTL时,数据表中可能会有数据过期,系统会异步删除对应过期数据。
当调大TTL时,如果系统还未删除在旧的TTL之外以前版本的数据,且对应版本数据在新设的TTL中,则对应版本的数据可以重新读取。
参数
参数 | 说明 | |
timeseriesTableName | 时序表名。 | |
analyticalStore | analyticalStoreName | 分析存储名。 |
timeToLive | 分析存储数据存活时间,单位为秒。取值范围为-1(数据永不过期)或者大于等于2592000秒(即30天)的int32正整数。 如果希望分析存储中的数据永不过期,可以设置为-1。 |
示例
以下示例用于更新test_timeseries_table时序表下名为test_analytical_store的分析存储配置信息,将数据生命周期更新为30天(即2592000秒)。
func UpdateTimeseriesAnalyticalStore(client *tablestore.TimeseriesClient) {
analyticalStore := tablestore.NewTimeseriesAnalyticalStore("test_analytical_store")
analyticalStore.SetTimeToLive(2592000)
req := tablestore.NewUpdateTimeseriesAnalyticalStoreRequest("test_timeseries_table", analyticalStore)
_, err := client.UpdateTimeseriesAnalyticalStore(req)
if err != nil {
log.Fatal(err)
}
}
文档内容是否对您有帮助?