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

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

最終更新日:May 16, 2025

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

前提条件

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

メソッド

public UpdateTableResponse updateTable(UpdateTableRequest request) throws TableStoreException, ClientException

UpdateTableRequest パラメーター

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

  • tableOptionsForUpdate (オプション) TableOptions: 構成情報。次の表に、tableOptionsForUpdate パラメーターに含まれるパラメーターを示します。

    パラメーター

    説明

    timeToLive (オプション)

    OptionalValue<Integer>

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

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

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

    maxVersions (オプション)

    OptionalValue<Integer>

    各属性列のデータに対して保持できる最大バージョン数。

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

    maxTimeDeviation (オプション)

    OptionalValue<Long>

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

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

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

    allowUpdate (オプション)

    OptionalValue<Boolean>

    更新を許可するかどうかを指定します。

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

  • streamSpecification (オプション) StreamSpecification: Stream 構成情報。次の表に、StreamSpecification に含まれるパラメーターを示します。

    パラメーター

    説明

    enableStream (必須)

    boolean

    Stream を有効にするかどうかを指定します。

    expirationTime (オプション)

    OptionalValue<Integer>

    Stream の有効期間。増分ログが保持される期間を示します。単位: 時間。最大値: 168 (7 日間)。

    • enableStream パラメーターを true に設定する場合は、このパラメーターを構成する必要があります。

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

説明
  • updateTable() メソッドを呼び出すときは、tableOptionsForUpdate、streamSpecification、reservedThroughputForUpdate の少なくとも 1 つのパラメーターを構成する必要があります。

  • tableOptionsForUpdate パラメーターを構成する場合は、timeToLive、maxVersions、maxTimeDeviation、allowUpdate の少なくとも 1 つのパラメーターを構成する必要があります。

サンプルコード

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

public static void updateTableExample(SyncClient client) {
    UpdateTableRequest request = new UpdateTableRequest("test_table");
    // 予約済み読み取りスループットを 50 CU、予約済み書き込みスループットを 20 CU に設定します。
    ReservedThroughput reservedThroughput = new ReservedThroughput(50, 20);
    request.setReservedThroughputForUpdate(reservedThroughput);

    TableOptions tableOptions = new TableOptions();
    // 属性列のデータに対して保持できる最大バージョン数を指定します。
    tableOptions.setMaxVersions(3);
    // TTL を秒単位で指定します。
    tableOptions.setTimeToLive(86400);
    // 最大バージョンオフセットを秒単位で指定します。
    tableOptions.setMaxTimeDeviation(86400);
    // 更新を許可するかどうかを指定します。
    tableOptions.setAllowUpdate(false);
    request.setTableOptionsForUpdate(tableOptions);

    // Stream を有効にし、Stream の有効期間を 7 日間に設定します。
    StreamSpecification streamSpecification = new StreamSpecification(true, 168);
    request.setStreamSpecification(streamSpecification);
    
    // updateTable メソッドを呼び出して、テーブルの構成を変更します。
    client.updateTable(request);
}

関連情報

詳細については、「時系列テーブルの構成を変更する」をご参照ください。