このトピックでは、パラメーターとサンプルコードを使用して、Tablestore SDK for Java を使用してテーブルの構成を更新する方法について説明します。データテーブルの有効期限 (TTL)、最大バージョン数、最大バージョンオフセット、および Stream 構成を更新できます。また、ハイパフォーマンスインスタンスのデータテーブルの予約済み読み取りおよび書き込みスループットを更新することもできます。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスを初期化する を参照してください。
データテーブルが作成されていること。詳細については、データテーブルを作成する を参照してください。
パラメーター
詳細については、パラメーター を参照してください。
サンプルコード
データテーブルの構成を更新する
次のサンプルコードは、データテーブルの構成を更新する方法の例を示しています。
private static void updateTable(SyncClient client) {
// データテーブル内のデータの TTL を指定します。値 -1 は、データテーブル内のデータが期限切れにならないことを指定します。
int timeToLive = -1;
// データテーブルの各属性列に保持できる最大バージョン数を指定します。この例では、各属性列に最大 5 つのバージョンのデータを保持できます。
int maxVersions = 5;
// 現在のシステム時刻と書き込まれたデータのタイムスタンプの最大差を指定します。この例では、最大差は 86,400 秒(1 日)に設定されています。
long maxTimeDeviation = 86400L;
TableOptions tableOptions = new TableOptions(timeToLive, maxVersions, maxTimeDeviation);
// データテーブルに対する UpdateRow 操作を許可することを指定します。
tableOptions.setAllowUpdate(true);
// Stream 機能を有効にし、ストリームの有効期間を 24 時間に設定します。
//StreamSpecification streamSpecification = new StreamSpecification(true, 24);
// データテーブルの名前を指定します。
UpdateTableRequest request = new UpdateTableRequest("<TABLE_NAME>");
request.setTableOptionsForUpdate(tableOptions);
client.updateTable(request);
}
ハイパフォーマンスインスタンスのデータテーブルの予約済みスループットを更新する
ハイパフォーマンスインスタンスのデータテーブルの予約済みスループットを更新する方法の例を次のサンプルコードに示します。
private static void updateTable(SyncClient client) {
// 新しい予約済み読み取りスループットを 1 に、新しい予約済み書き込みスループットを 1 に設定します。キャパシティインスタンスのデータテーブルの場合、予約済み読み取りおよび書き込みスループットは 0 のみに設定できます。
ReservedThroughput reservedThroughput = new ReservedThroughput(new CapacityUnit(1, 1));
// データテーブルの名前を指定します。
UpdateTableRequest request = new UpdateTableRequest("<TABLE_NAME>");
request.setReservedThroughputForUpdate(reservedThroughput);
client.updateTable(request);
}
参照
API 操作の詳細については、UpdateTable を参照してください。
テーブルの構成を更新した後、次の操作を実行できます。
テーブルに対する操作。詳細については、テーブルに対する操作 を参照してください。
データに対する操作。詳細については、データに対する基本操作 を参照してください。