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

Tablestore:テーブル設定の更新

最終更新日:Aug 12, 2026

Tablestore SDK for Go を使用して、テーブルの生存時間 (TTL)、最大バージョン数、最大バージョンオフセット、更新権限、ストリーム設定、および予約済みスループットを更新します。

前提条件

Tablestore SDK for Go をインストールし、クライアントを初期化します。

説明

UpdateTable API を呼び出して、テーブルのテーブルプロパティ、ストリーム設定、または予約済みスループットを更新します。各リクエストでは、少なくとも 1 種類の設定を指定する必要があります。

func (tableStoreClient *TableStoreClient) UpdateTable(request *UpdateTableRequest) (*UpdateTableResponse, error)

次のサンプルでは、example_table テーブルの生存時間 (TTL)、最大バージョン数、最大バージョンオフセット、および更新権限を更新します。

request := &tablestore.UpdateTableRequest{
    TableName: "example_table",
    TableOption: &tablestore.TableOption{
        TimeToAlive:               86400,
        MaxVersion:                3,
        DeviationCellVersionInSec: 86400,
        AllowUpdate:               proto.Bool(false),
    },
}

_, err := client.UpdateTable(request)
if err != nil {
    log.Fatal(err)
}

パラメーター

UpdateTableRequest のパラメーターは次のとおりです。

名前

タイプ

説明

TableName (必須)

string

テーブル名。

TableOption (オプション)

*TableOption

更新するテーブルプロパティ。

StreamSpec (オプション)

*StreamSpecification

ストリーム設定。

ReservedThroughput (オプション)

*ReservedThroughput

予約済み読み取り/書き込みスループット。 0 以外の値は、CU モードの高性能インスタンスにのみ適用されます。

TableOption、StreamSpec、および ReservedThroughput のうち、少なくとも 1 つを指定する必要があります。

テーブルオプション

TableOption のパラメーターは次のとおりです。

名前

タイプ

説明

TimeToAlive (オプション)

int

生存時間 (TTL)。単位は秒。値が -1 の場合、データは期限切れになりません。その他の値の場合、最小値は 86400 (1 日) です。期限切れのデータは自動的に削除されます。多次元インデックスまたはセカンダリインデックスを使用するには、このパラメーターを -1 に設定するか、AllowUpdate を false に設定する必要があります。

MaxVersion (オプション)

int

各属性列に保持される最大バージョン数。多次元インデックスまたはセカンダリインデックスを使用するには、このパラメーターを 1 に設定する必要があります。

DeviationCellVersionInSec (オプション)

int64

最大バージョンオフセット。単位は秒。書き込まれたデータのタイムスタンプと現在のシステム時刻との差は、この範囲内である必要があります。有効なバージョンは [max(書き込み時刻 - 最大バージョンオフセット, 書き込み時刻 - TTL), 書き込み時刻 + 最大バージョンオフセット) の範囲内です。

AllowUpdate (オプション)

*bool

UpdateRow API を呼び出してデータを更新できるかどうかを指定します。このパラメーターが false に設定されている場合、データは更新できません。

重要

UpdateFullRow はテーブルの作成時にのみ設定でき、UpdateTable を呼び出して変更することはできません。

ストリーム設定

StreamSpec は StreamSpecification 型で、そのパラメーターは次のとおりです。

名前

タイプ

説明

EnableStream (必須)

bool

ストリームを有効にするかどうかを指定します。

ExpirationTime (オプション)

int32

増分ログの保持期間。単位は時間。最大値: 168 (7 日)。このパラメーターは、EnableStream が true に設定されている場合に必須です。

重要

ExpirationTime パラメーターを変更する場合は、EnableStream も true に設定する必要があります。設定しない場合、既存のデータチャネルが使用できなくなり、テーブルの多次元インデックスのデータ同期に影響します。

予約済みスループット

ReservedThroughput のパラメーターは次のとおりです。

名前

タイプ

説明

Readcap (オプション)

int

予約済み読み取りスループット。単位はキャパシティーユニット (CU)。デフォルト値: 0。

Writecap (オプション)

int

予約済み書き込みスループット。単位はキャパシティーユニット (CU)。デフォルト値: 0。

例

ストリーム設定の更新

次のサンプルでは、example_table テーブルのストリームを有効にし、増分ログの保持期間を 168 時間に設定します。

request := &tablestore.UpdateTableRequest{
    TableName: "example_table",
    StreamSpec: &tablestore.StreamSpecification{
        EnableStream:   true,
        ExpirationTime: 168,
    },
}

_, err := client.UpdateTable(request)
if err != nil {
    log.Fatal(err)
}