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

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

最終更新日:Jul 05, 2025

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

前提条件

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

メソッドの説明

def update_table(self, table_name, table_options=None, reserved_throughput=None)

パラメーター

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

  • table_options (オプション) TableOptions: テーブルの構成。以下のパラメーターを含みます。

    パラメーター

    タイプ

    説明

    time_to_live (オプション)

    int

    データの存続時間 (TTL)。単位は秒です。 デフォルト値は -1 です。

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

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

    max_version (オプション)

    int

    最大バージョン数。 デフォルト値は 1 です。

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

    max_time_deviation (オプション)

    int

    最大バージョンオフセット。単位は秒です。 デフォルト値は 86400 (1 日) です。

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

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

    allow_update (オプション)

    bool

    更新を許可するかどうかを指定します。 デフォルト値は True です。

    • このパラメーターを False に設定すると、UpdateRow() メソッドを使用してデータを更新することはできません。

  • reserved_throughput (オプション) ReservedThroughput: 予約済み読み取りおよび書き込みスループット (容量単位: CU)。 デフォルト値は 0 です。 このパラメーターは、CU モードの高性能インスタンスに対してのみ指定および有効にすることができます。

説明

update_table() メソッドを呼び出すときは、table_options または reserved_throughput パラメーターの少なくとも 1 つを指定する必要があります。

サンプルコード

次のサンプルコードは、test_table テーブルの構成を変更する方法を示しています。

# テーブル構成を構築します。
table_options = TableOptions(time_to_live=86400, max_version=3, max_time_deviation=86400, allow_update=False)

# 予約済み読み取りスループットを 0 CU、予約済み書き込みスループットを 0 CU に設定します (CU モードの高性能インスタンスのみ、予約済み読み取りおよび書き込みスループットにゼロ以外の値を指定できます)。
reserved_throughput = ReservedThroughput(CapacityUnit(0,0))

try:
    # リクエストを開始します。
    client.update_table('test_table', table_options, reserved_throughput)
    print("Update table succeeded.") # テーブルの更新に成功しました。
except Exception as e:
    print("Update table failed. %s" % e) # テーブルの更新に失敗しました。

参照

時系列テーブルを更新する