Tablestore SDK for Java を使用して、Wide Column モデルのテーブルのデータライフサイクル、最大バージョン数、最大バージョンオフセット、更新権限、ストリーム、および予約済みスループットの設定を更新します。
前提条件
Tablestore SDK for Java をインストールし、クライアントを初期化します。
機能の説明
updateTable を呼び出して、テーブルのテーブルオプション、ストリーム設定、または予約済みスループットを更新します。各リクエストでは、少なくとも 1 つの設定グループを指定する必要があります。TableOptions を更新する場合は、少なくとも 1 つのテーブルオプションを指定してください。
public UpdateTableResponse updateTable(UpdateTableRequest request) throws TableStoreException, ClientException
次のサンプルコードは、example_table テーブルのデータライフサイクル、最大バージョン数、最大バージョンオフセット、および更新権限を更新します。
UpdateTableRequest request = new UpdateTableRequest("example_table");
TableOptions tableOptions = new TableOptions();
tableOptions.setTimeToLive(86400);
tableOptions.setMaxVersions(3);
tableOptions.setMaxTimeDeviation(86400L);
tableOptions.setAllowUpdate(false);
request.setTableOptionsForUpdate(tableOptions);
client.updateTable(request);
パラメーター
UpdateTableRequest には、次のパラメーターが含まれます。
|
名前 |
タイプ |
説明 |
|
tableName (必須) |
|
テーブルの名前。 |
|
tableOptionsForUpdate (オプション) |
|
更新するテーブルオプション。少なくとも 1 つのテーブルオプションを指定する必要があります。 |
|
streamSpecification (オプション) |
|
ストリーム設定。 |
|
reservedThroughputForUpdate (オプション) |
|
予約済み読み取り/書き込みスループットの設定。ゼロ以外の値は、CU モードのコンピューティング最適化インスタンスに対してのみ指定できます。 |
tableOptionsForUpdate、streamSpecification、reservedThroughputForUpdate のうち、少なくとも 1 つを指定する必要があります。
テーブルオプション
tableOptionsForUpdate は TableOptions 型で、次のパラメーターが含まれます。
|
名前 |
タイプ |
説明 |
|
timeToLive (オプション) |
|
データの有効期間 (TTL) を表します。単位は秒です。値 |
|
maxVersions (オプション) |
|
各属性列について保持するバージョンの最大数です。検索インデックスまたはセカンダリインデックスを使用するには、このパラメーターを |
|
maxTimeDeviation (オプション) |
|
最大バージョンオフセット。単位は秒です。データのタイムスタンプと現在のシステム時刻の差は、最大バージョンオフセット以内でなければなりません。属性列データの有効なバージョン範囲は |
|
allowUpdate (オプション) |
|
|
updateFullRow は、テーブルを作成するときにのみ設定できます。updateTable を呼び出して変更することはできません。
ストリーム設定
streamSpecification は StreamSpecification 型で、次のパラメーターが含まれます。
|
名前 |
タイプ |
説明 |
|
enableStream (必須) |
|
ストリームを有効にするかどうかを指定します。 |
|
expirationTime (オプション) |
|
増分ログの保持期間。単位:時間。最大値: |
予約済み読み取り/書き込みスループット
reservedThroughputForUpdate は ReservedThroughput 型で、次のパラメーターが含まれます。
|
名前 |
タイプ |
説明 |
|
capacityUnit (必須) |
|
予約済み読み取り/書き込みスループットの設定。 |
キャパシティーユニット
reservedThroughputForUpdate.capacityUnit は CapacityUnit 型で、次のパラメーターが含まれます。
|
名前 |
タイプ |
説明 |
|
readCapacityUnit (必須) |
|
予約済み読み取りスループット。単位:CU。 |
|
writeCapacityUnit (必須) |
|
予約済み書き込みスループット。単位:CU。 |
シナリオ例
ストリーム設定の更新
次のサンプルコードは、example_table テーブルのストリームを有効にし、増分ログの保持期間を 168 時間に設定します。
UpdateTableRequest request = new UpdateTableRequest("example_table");
request.setStreamSpecification(new StreamSpecification(true, 168));
client.updateTable(request);
予約済みスループットの更新
予約済みスループットは、CU モードのコンピューティング最適化インスタンスでのみサポートされます。次のサンプルコードは、example_table テーブルの予約済み読み取りスループットと予約済み書き込みスループットの両方を 0 CU に設定します。
UpdateTableRequest request = new UpdateTableRequest("example_table");
ReservedThroughput reservedThroughput = new ReservedThroughput(0, 0);
request.setReservedThroughputForUpdate(reservedThroughput);
client.updateTable(request);