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

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

最終更新日:Jul 09, 2025

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

前提条件

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

メソッドの説明

public UpdateTableResponse UpdateTable(UpdateTableRequest request)

非同期メソッド:

public Task<UpdateTableResponse> UpdateTableAsync(UpdateTableRequest request)

UpdateTableRequest パラメーター

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

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

    パラメーター

    タイプ

    説明

    TimeToLive (オプション)

    int

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

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

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

    MaxVersions (オプション)

    int

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

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

    DeviationCellVersionInSec (オプション)

    long

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

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

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

    AllowUpdate (オプション)

    bool

    更新が許可されているかどうかを示します。

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

  • StreamSpecification (オプション) StreamSpecification: Stream の構成情報。以下のパラメーターが含まれます。

    パラメーター

    タイプ

    注記

    EnableStream (必須)

    bool

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

    ExpirationTime (オプション)

    int

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

    • EnableStream を true に設定する場合は、ExpirationTime を指定する必要があります。

  • ReservedThroughput (オプション) CapacityUnit: 予約済み読み取り/書き込みスループット (CU 単位)。 このパラメーターをゼロ以外の値に設定できます。この設定は、CU モードの高性能インスタンスのデータテーブルに対してのみ有効になります。

説明

UpdateTable() メソッドを呼び出すときは、TableOptions、StreamSpecification、または ReservedThroughput の少なくとも 1 つを指定する必要があります。

サンプルコード

try
{
    UpdateTableRequest request = new UpdateTableRequest("test_table");

    // テーブル構成情報。
    TableOptions tableOptions = new TableOptions();
    // TTL を秒単位で指定します。
    tableOptions.TimeToLive = 86400;
    // バージョンの最大数を指定します。
    tableOptions.MaxVersions = 3;
    // 最大バージョンオフセットを秒単位で指定します。
    tableOptions.DeviationCellVersionInSec = 86400;
    // 更新を許可するかどうかを指定します。
    tableOptions.AllowUpdate = false;
    request.TableOptions = tableOptions;

    // Stream を有効にし、Stream の有効期間を 7 日間に設定します。
    StreamSpecification streamSpecification = new StreamSpecification(true);
    streamSpecification.ExpirationTime = 168;
    request.StreamSpecification = streamSpecification;

    // 予約済み読み取りスループットを 0 CU、予約済み書き込みスループットを 0 CU に設定します (このパラメーターをゼロ以外の値に設定できます。この設定は、CU モードの高性能インスタンスのデータテーブルに対してのみ有効になります)。
    CapacityUnit reservedThroughput = new CapacityUnit(0, 0);
    request.ReservedThroughput = reservedThroughput;

    // UpdateTable メソッドを呼び出して、テーブル構成を変更します。
    client.UpdateTable(request);
    Console.WriteLine("テーブルの更新に成功しました。");
}
catch (Exception ex)
{
    Console.WriteLine($"テーブルの更新に失敗しました。例外: {ex.Message}");
}