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

Tablestore:多次元インデックスの TTL の設定

最終更新日:Aug 08, 2026

Tablestore SDK for Go を使用して、新規または既存の多次元インデックスの TTL を設定し、必要に応じてテーブルの TTL を調整します。

前提条件

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

注意事項

多次元インデックスの TTL は -1 または 86,400 秒以上の int32 型整数です。-1 はデータが有効期限切れにならないことを示します。-1 以外の値を設定する場合は、UpdateRow を使用した更新を無効にする必要があります。また、インデックスの TTL はテーブルの TTL を超えてはなりません。有効期限切れのデータは、バックグラウンドで非同期に削除されます。

操作手順

一連のワークフローには、UpdateRow 更新の無効化、多次元インデックスの TTL 設定、および必要に応じたテーブル TTL の調整が含まれます。実行順序は目標値によって異なります。新しいインデックスの TTL が現在のテーブル TTL を超える場合は、まずテーブルの TTL を増加させてください。それ以外の場合は、インデックスの設定後に必要に応じてテーブルの TTL を調整します。

1. UpdateRow を使用した更新を無効化する

テーブル構成を更新し、AllowUpdate を false に設定します。詳細については、「テーブル構成の更新」をご参照ください。

2. 検索インデックスの TTL を設定する

新しい検索インデックス

ttl := int32(7 * 24 * 60 * 60)
request := &tablestore.CreateSearchIndexRequest{
    TableName:  "example_table",
    IndexName:  "example_index",
    TimeToLive: &ttl,
    IndexSchema: &tablestore.IndexSchema{
        FieldSchemas: []*tablestore.FieldSchema{
            {
                FieldName: proto.String("category"),
                FieldType: tablestore.FieldType_KEYWORD,
                Index:     proto.Bool(true),
            },
        },
    },
}

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

既存の検索インデックス

ttl := int32(7 * 24 * 60 * 60)
_, err := client.UpdateSearchIndex(&tablestore.UpdateSearchIndexRequest{
    TableName:  "example_table",
    IndexName:  "example_index",
    TimeToLive: &ttl,
})
if err != nil {
    log.Fatal(err)
}

3. 必要に応じてテーブルの TTL を調整する

テーブルの TTL も変更が必要な場合は、それが多次元インデックスの TTL 以上であることを確認してください。詳細については、「テーブル構成の更新」をご参照ください。

パラメーター

名前

説明

TimeToLive (オプション)

*int32

多次元インデックスの TTL(秒単位)。有効値は -1 および 86,400 以上の int32 型整数です。-1 はデータが有効期限切れにならないことを示します。インデックス作成時のデフォルト値: -1。