全部產品
Search
文件中心

Tablestore:更新表配置

更新時間:Jun 26, 2025

本文介紹如何通過 PHP SDK 更新表的配置資訊。

前提條件

初始化Tablestore Client

方法說明

public function updateTable(array $request)

$request參數說明

  • table_name(必選)string:資料表名稱。

  • table_options(可選)object:表配置資訊,包含以下參數。

    名稱

    類型

    說明

    time_to_live(可選)

    int

    資料生命週期,單位為秒。

    • 設定為-1時表示資料永不到期,否則取值最低為86400(1天),超出生命週期的資料將會被自動清除。

    • 如果要使用多元索引或二級索引功能,必須將資料生命週期設定為-1,或者將allow_update參數設定為false。

    max_versions(可選)

    int

    最大版本數。

    • 如果要使用多元索引或二級索引,最大版本數必須設定為1。

    deviation_cell_version_in_sec(可選)

    int

    有效版本偏差,單位為秒。

    • 寫入資料的時間戳記與系統目前時間的差值必須在有效版本偏差範圍內,否則寫入資料將會失敗。

    • 屬性列資料的有效版本範圍為[max(資料寫入時間-有效版本偏差, 資料寫入時間-資料生命週期), 資料寫入時間+有效版本偏差)

    allow_update(可選)

    bool

    是否允許更新。

    • 設定為false時,無法通過updateRow()方法更新資料。

  • stream_spec(可選)object:Stream配置資訊,包含以下參數。

    名稱

    類型

    說明

    enable_stream(可選)

    bool

    是否開啟Stream。

    enable_stream(可選)

    int

    Stream到期時間,表示增量日誌到期時間長度。單位為小時,最大值為168(7天)。

    • enable_stream設定為true時,必須設定expiration_time。

  • reserved_throughput(可選)object預留讀寫輸送量,單位為CU。僅CU模式的高效能型執行個體可以設定為非零值且有效。

說明

調用updateTable()方法時,必須設定table_options、stream_spec中的至少一項。

設定 table_options 時,必須設定time_to_live、max_versions、deviation_cell_version_in_sec、allow_update中的至少一項。

範例程式碼

以下範例程式碼用於修改test_table表的配置資訊。

$request = array (
    'table_name' => 'test_table',
    'table_options' => array (
        'time_to_live' => 86400,
        'max_versions' => 3,
        'deviation_cell_version_in_sec' => 86400,
        'allow_update' => false
    ), 
     'stream_spec' => array (
        'enable_stream' => true,
        'expiration_time' => 168
     ),
    'reserved_throughput' => array (
        'capacity_unit' => array (
            'read' => 0,
            'write' => 0
        )
    )
);

try{
    $client->updateTable( $request );
    echo "Update table succeeded.";
} catch (Exception $e) {
    echo "Update table failed.";
}