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

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

最終更新日:Aug 13, 2025

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

前提条件

Tablestore クライアントを初期化する.

メソッドの説明

updateTable: function describeTable(params, callback) 

params パラメーターの説明

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

  • tableOptions (必須) object: テーブルの構成情報。以下のパラメーターが含まれます。

    パラメーター

    タイプ

    説明

    timeToLive (オプション)

    number

    時系列テーブルのデータの生存時間(TTL)。単位:秒。

    • -1 に設定すると、データは期限切れになりません。それ以外の場合は、最小値は 86400(1 日)です。TTL を超えたデータは自動的に消去されます。

    • 多次元インデックスまたはセカンダリインデックス機能を使用するには、TTL を -1 に設定するか、allowUpdate パラメーターを false に設定する必要があります。

    maxVersions (オプション)

    number

    最大バージョン数。

    多次元インデックスまたはセカンダリインデックス機能を使用するには、最大バージョン数を 1 に設定する必要があります。

    maxTimeDeviation (オプション)

    number

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

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

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

    allowUpdate (オプション)

    boolean

    更新を許可するかどうかを指定します。

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

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

    パラメーター

    タイプ

    説明

    enableStream (オプション)

    boolean

    Stream を有効にするかどうかを指定します。デフォルト値:false。

    expirationTime (オプション)

    number

    Stream の有効期限。増分ログの保持期間を示します。単位:時間。最大値:168(7 日間)。

    enableStream を true に設定する場合は、expirationTime を設定する必要があります。

  • reservedThroughput (オプション) object: 予約済み読み取りおよび書き込みスループット(容量単位(CU))。CU モードの高性能インスタンスのみ、ゼロ以外の値に設定できます。

説明
  • updateTable() メソッドを呼び出すときは、tableOptions を設定する必要があります。

  • tableOptions を設定する場合は、timeToLive、maxVersions、maxTimeDeviation、allowUpdate の少なくとも 1 つのパラメーターを設定する必要があります。

サンプルコード

次のサンプルコードは、test_table テーブルの構成を変更する方法を示しています。

var params = {
    tableName: 'test_table',
    tableOptions: {
        // TTL を 86400 秒に設定する
        timeToLive: 86400,
        // 最大バージョン数を設定する
        maxVersions: 3,
        // 最大バージョンオフセットを 86400 秒に設定する
        maxTimeDeviation: 86400,
        // 更新を許可するかどうかを指定する
        allowUpdate: false
    },
    // 予約済み読み取りスループットを 0 CU、予約済み書き込みスループットを 0 CU に設定する(CU モードの高性能インスタンスのみ、予約済み読み取りおよび書き込みスループットにゼロ以外の値を設定できます)
    reservedThroughput: {
        capacityUnit: {
            read: 0,
            write: 0
        }
    },
    // Stream を有効にし、Stream の有効期限を 7 日間に設定する
    streamSpecification: {
        enableStream: true,
        expirationTime: 168
    }
};

client.updateTable(params, function (err, data) {
    if (err) {
        console.error('error:', err);
        return;
    }
    console.log('success:', data);
});