您可以使用更新表介面(UpdateTable)修改配置資訊(TableOptions)以及預留讀/寫輸送量(ReservedThroughput)。

參數說明

  • TableOptions

    TableOptions 包含表的 TTL、MaxVersions 和 MaxTimeDeviation 。

    參數 定義 說明
    TTL TimeToLive,資料存活時間
    • 單位:秒。
    • 如果期望資料永不到期,TTL 可設定為 -1。
    • 資料是否到期是根據資料的時間戳記目前時間表的 TTL三者進行判斷的。目前時間 - 資料的時間戳記 > 表的 TTL時,資料會到期並被清理。
    • 在使用 TTL 功能時需要注意寫入時是否指定了時間戳記,以及指定的時間戳記是否合理。如需指定時間戳記,建議設定MaxTimeDeviation。
    MaxTimeDeviation 寫入資料的時間戳記與系統目前時間的偏差允許最大值
    • 預設情況下系統會為新寫入的資料產生一個時間戳記,資料自動到期功能需要根據這個時間戳記判斷資料是否到期。使用者也可以指定寫入資料的時間戳記。如果使用者寫入的時間戳記非常小,與目前時間偏差已經超過了表上設定的 TTL 時間,寫入的資料會立即到期。設定 MaxTimeDeviation 可以避免這種情況。
    • 單位:秒。
    MaxVersions 每個屬性列保留的最大版本數 如果寫入的版本數超過 MaxVersions,服務端只會保留 MaxVersions 中指定的最大的版本。
  • ReservedThroughtput

    表的預留讀/寫輸送量配置。

    • ReservedThroughput 的調整有時間間隔限制,目前調整間隔為 1 分鐘。
    • 設定 ReservedThroughtput 後,Tablestore按照您預留讀/寫輸送量進行計費。
    • 當 ReservedThroughtput 大於 0 時,Tablestore會按照預留量和期間進行計費,超出預留的部分進行隨用隨付。更多資訊參見計費,以免產生未期望的費用。
    • 預設值為 0,即完全隨用隨付。
    • 容量型執行個體的預留讀/寫輸送量只能設定為 0,不允許預留。

樣本

更新表的 TTL 和最大版本數。

private static void updateTable(SyncClient client) {
    int timeToLive = -1;
    int maxVersions = 5; // 將最大版本數更新為5。
    TableOptions tableOptions = new TableOptions(timeToLive, maxVersions);
    UpdateTableRequest request = new UpdateTableRequest(TABLE_NAME);
    request.setTableOptionsForUpdate(tableOptions);
    client.updateTable(request);
}