すべてのプロダクト
Search
ドキュメントセンター

Tablestore:テーブルの構成を更新する

最終更新日:Jul 05, 2025

このトピックでは、PHP 用 Tablestore SDK を使用してテーブルの構成を更新する方法について説明します。

前提条件

クライアントが初期化されていること。 詳細については、「Tablestore クライアントを初期化する」をご参照ください。

メソッドの説明

public function updateTable(array $request)

$request パラメーターの説明

  • table_name (必須) string: データテーブルの名前。

  • table_options (オプション) object: テーブルの構成情報。以下のパラメーターが含まれます。

    パラメーター

    タイプ

    説明

    time_to_live (オプション)

    int

    データテーブル内のデータの存続時間 (TTL)。単位: 秒。

    • このパラメーターを -1 に設定すると、データは期限切れになりません。それ以外の場合は、最小値は 86400 (1 日) です。保持期間が TTL を超えるデータは自動的に削除されます。

    • 検索インデックスまたはセカンダリインデックス機能を使用する場合は、このパラメーターを -1 に設定するか、allow_update パラメーターを false に設定する必要があります。

    max_versions (オプション)

    int

    最大バージョン数。

    • 検索インデックスまたはセカンダリインデックス機能を使用する場合は、このパラメーターを 1 に設定する必要があります。

    deviation_cell_version_in_sec (オプション)

    int

    最大バージョンオフセット。単位: 秒。

    • 現在のシステム時刻と書き込まれたデータのタイムスタンプの差は、最大バージョンオフセットの範囲内でなければなりません。そうでない場合、データの書き込みは失敗します。

    • 属性列データの有効なバージョン範囲は、[max(データ書き込み時刻 - 最大バージョンオフセット, データ書き込み時刻 - TTL), データ書き込み時刻 + 最大バージョンオフセット)] です。

    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 パラメーターの少なくとも 1 つを指定する必要があります。

table_options を指定する場合は、time_to_live、max_versions、deviation_cell_version_in_sec、または allow_update パラメーターの少なくとも 1 つを指定する必要があります。

サンプルコード

次のサンプルコードは、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."; // テーブルの更新に失敗しました。
}