当需要清理分析存储中的历史数据或者希望延长数据保存时间时,您可以使用UpdateTimeseriesAnalyticalStore接口更新时序分析存储的数据生命周期TTL配置。更新分析存储的TTL后,表格存储会自动异步清理分析存储中超过TTL的数据。
前提条件
注意事项
分析存储的同步选项不支持更新。
分析存储的生命周期最短为30天(即2592000秒)。
创建分析存储时,如果设置的TTL不为-1,则表格存储会自动异步删除超过TTL的数据。您也可以通过UpdateTimeseriesAnalyticalStore接口修改分析存储的TTL。
超过TTL的过期数据为无效数据,即使系统还未删除数据,用户已无法读取对应数据。
当调小TTL时,数据表中可能会有数据过期,系统会异步删除对应过期数据。
当调大TTL时,如果系统还未删除在旧的TTL之外以前版本的数据,且对应版本数据在新设的TTL中,则对应版本的数据可以重新读取。
参数说明
UpdateTimeseriesAnalyticalStoreRequest 包含以下参数。
名称 | 类型 | 说明 |
timeseriesTableName(必选) |
| 时序表名称。 |
analyticStore(必选) |
| 待更新的分析存储配置。 |
分析存储配置
analyticStore 的类型为 TimeseriesAnalyticalStore,包含以下参数。
名称 | 类型 | 说明 |
analyticalStoreName(必选) |
| 分析存储名称。 |
timeToLive(必选) |
| 分析存储的数据生命周期,单位为秒。取值为 |
示例
以下示例用于更新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)
}
}