更新多元索引配置

更新時間:
Copy as MD

調用UpdateSearchIndex介面,通過Node.js SDK更新多元索引的資料生命週期(TTL)。

前提條件

  • 已初始化OTSClient執行個體。具體操作,請參見初始化Tablestore Client

  • 資料表上已存在多元索引。

  • 資料表的allowUpdate參數已設定為false。具體操作,請參見更新表配置

注意事項

  • 多元索引的TTL和資料表的TTL是獨立的,多元索引的TTL值必須小於或等於資料表的TTL值。當需要同時調小多元索引TTL和資料表TTL時,請先調整多元索引TTL,再調整資料表TTL。

  • 多元索引每天會自動清理已到期的資料,到期資料的清理粒度為“天”,因此您仍然可以查詢到某一時刻已到期但尚未及時清理的資料,多元索引會在下一次清理到期資料時自動清理這些到期資料。

  • 資料表和多元索引的TTL更新後,系統會在下一次清理到期資料時自動清理資料表和多元索引中的到期存量資料。

參數

參數

說明

tableName(必選

資料表名稱。

indexName(必選

多元索引名稱。

timeToLive(必選

多元索引的資料生命週期,單位為秒。設定為-1表示永久儲存;設定為正整數(int32)表示固定到期時間,最大值約為68年。

樣本

以下樣本將多元索引的資料生命週期設定為7天(604800秒)。

let params = {
    tableName: '<TABLE_NAME>',
    indexName: '<SEARCH_INDEX_NAME>',
    timeToLive: 604800,  // 7天,換算方式:7 × 24 × 60 × 60
}
client.updateSearchIndex(params, function (err, data) {
    if (err) {
        console.log('updateSearchIndex error:', err.toString());
    } else {
        console.log('updateSearchIndex success:', data);
    }
});

timeToLive的值為秒數。如需設定其他時間長度,將天數乘以86400即可,例如30天對應2592000秒。

常見問題

修改資料表生命週期時報錯[table ttl] must be bigger than or equal search index ttl

相關文檔