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

Tablestore:時系列テーブルの作成

最終更新日:Apr 22, 2025

CreateTimeseriesTable 操作を呼び出して、時系列テーブルを作成できます。時系列テーブルを作成する際には、時系列テーブルと時系列メタデータに関連する構成情報を指定する必要があります。さらに、ビジネス要件に基づいて、カスタム時系列識別子とカスタムデータフィールドを時系列テーブルのプライマリキー列として指定したり、分析ストアを作成したり、Lastpoint インデックスを作成したりできます。

使用上の注意

  • Tablestore SDK for Python V6.1.0 以降では、TimeSeries モデルがサポートされています。正しいバージョンの Tablestore SDK for Python を使用していることを確認してください。

    説明

    詳細については、「Tablestore SDK for Python のバージョン履歴」をご参照ください。

  • 時系列テーブルの名前は、インスタンス内で一意である必要があり、既存のテーブル名と同じにすることはできません。

  • 時系列テーブルに対して作成できる分析ストアは 1 つだけです。分析ストアと Lastpoint インデックスの合計数は 10 を超えることはできません。

    説明

    分析ストアと Lastpoint インデックス機能は、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口) の各リージョンでサポートされています。

  • 時系列テーブルのプライマリキー列として、最大 4 つのデータフィールドを指定できます。

  • 時系列テーブルのカスタム時系列識別子を指定する場合、最大 6 つのフィールドを追加できます。

前提条件

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

パラメーター

次の表に、request に含まれるパラメーターを示します。

パラメーター

説明

table_meta (必須)

時系列テーブルのスキーマ情報。次の項目で構成されます。

  • timeseries_table_name (必須): 時系列テーブルの名前。

  • timeseries_table_options (オプション): 時系列テーブルの構成情報。次の項目が含まれます。

    • time_to_live (必須): 時系列テーブル内のデータの保持期間。単位: 秒。

      時系列テーブルのデータの最小保持期間は 86,400 秒 (1 日) です。time_to_live を -1 に設定することもできます。これは、データの有効期限が切れないことを指定します。

  • timeseries_meta_options (オプション): 時系列メタデータの構成情報。次の項目で構成されます。

    • meta_time_to_live (オプション): 時系列メタデータの保持期間。単位: 秒。

      デフォルト値: -1。時系列メタデータの有効期限が切れないことを指定します。時系列メタデータの最小保持期間は 604,800 秒 (7 日) です。

      重要

      meta_time_to_live の値は、time_to_live の値以上である必要があります。

    • allow_update_attributes (オプション): 時系列メタデータの属性の更新を許可するかどうかを指定します。デフォルト値は True で、時系列メタデータの属性の更新が許可されることを指定します。

      重要

      meta_time_to_live が -1 以外の値に設定されている場合は、allow_update_attributes を False に設定する必要があります。これは、時系列メタデータの属性の更新が許可されないことを指定します。

  • timeseries_keys (オプション): カスタム時系列識別子。デフォルトでは、時系列識別子はメトリック名、データソース、およびタグで構成されます。

    説明

    カスタム時系列識別子を指定する場合にのみ、この項目を指定する必要があります。

  • field_primary_keys (オプション): プライマリキー列として指定されたデータフィールド。これにより、同じ時系列識別子とタイムスタンプを持つ複数のデータ行を時系列テーブルに保存できます。

    説明

    同じ時系列識別子とタイムスタンプを持つ複数のデータ行を同時に保存する場合にのみ、この項目を指定する必要があります。

analytical_stores (オプション)

時系列の分析ストアの構成情報。次の項目で構成されます。

  • analytical_store_name (必須): 分析ストアの名前。

  • time_to_live (オプション): 分析ストア内のデータの保持期間。単位: 秒。

    デフォルト値: -1。分析ストア内のデータの有効期限が切れないことを指定します。分析ストアのデータの最小保持期間は 2,592,000 秒 (30 日) です。

  • sync_option (オプション): 分析ストアの同期モード。有効な値:

    • SYNC_TYPE_FULL (デフォルト): 完全同期。

    • SYNC_TYPE_INCR: 増分同期。

lastpoint_index_metas (オプション)

Lastpoint インデックスの構成情報。次の項目で構成されます。

  • index_table_name (必須): Lastpoint インデックスの名前。

時系列テーブルを作成する

次のサンプルコードは、時系列テーブルを作成する方法の例を示しています。

try:
    # 時系列テーブルのデータの保持期間を 172,800 秒 (2 日) に設定します。
    tableOption = TimeseriesTableOptions(172800)
    # 時系列メタデータの保持期間を -1 に設定し、時系列メタデータの属性の更新を許可するように指定します。
    metaOption = TimeseriesMetaOptions(-1, True)
    tableMeta = TimeseriesTableMeta("", tableOption, metaOption)

    # 時系列テーブルを作成する操作を呼び出します。
    request = CreateTimeseriesTableRequest(tableMeta)
    otsClient.create_timeseries_table(request)
    print("create timeseries table success.")
except Exception as e:
    # 例外がスローされた場合、時系列テーブルの作成に失敗します。例外を処理します。
    print("create timeseries table failed. %s" % e)

分析ストアを使用して時系列テーブルを作成する

次のサンプルコードは、分析ストアを使用して時系列テーブルを作成する方法の例を示しています。

try:
    # 時系列テーブルのデータの保持期間を 172,800 秒 (2 日) に設定します。
    tableOption = TimeseriesTableOptions(172800)
    # 時系列メタデータの保持期間を -1 に設定し、時系列メタデータの属性の更新を許可するように指定します。
    metaOption = TimeseriesMetaOptions(-1, True)
    tableMeta = TimeseriesTableMeta("", tableOption, metaOption)

    # 分析ストアを構成します。
    analyticalStore = TimeseriesAnalyticalStore("default_analytical_store", -1, SyncType.SYNC_TYPE_FULL)

    # 時系列テーブルを作成する操作を呼び出します。
    request = CreateTimeseriesTableRequest(tableMeta, [analyticalStore])
    otsClient.create_timeseries_table(request)
    print("create timeseries table success.")
except Exception as e:
    # 例外がスローされた場合、時系列テーブルの作成に失敗します。例外を処理します。
    print("create timeseries table failed. %s" % e)

カスタム時系列識別子とプライマリキー列として指定されたカスタムデータフィールドを使用して時系列テーブルを作成する

次のサンプルコードは、カスタム時系列識別子 keyAkeyBkeyC と、時系列テーブルのプライマリキー列として指定された 2 つのデータフィールド gid (String 型) と uid (Integer 型) を使用して時系列テーブルを作成する方法の例を示しています。

try:
    # 時系列テーブルのデータの保持期間を 86,400 秒 (1 日) に設定します。
    tableOption = TimeseriesTableOptions(86400)
    # 時系列メタデータの保持期間を -1 に設定し、時系列メタデータの属性の更新を許可するように指定します。
    metaOption = TimeseriesMetaOptions(-1, True)
    # カスタム時系列識別子を指定します。
    timeseriesKeys = ["keyA", "keyB", "keyC"]
    # 時系列テーブルのプライマリキー列としてカスタムデータフィールドを指定します。
    fieldPrimaryKeys = [('gid', 'STRING'), ('uid', 'INTEGER')]
    tableMeta = TimeseriesTableMeta("", tableOption, metaOption, timeseriesKeys,
                                    fieldPrimaryKeys)

    # 時系列テーブルを作成する操作を呼び出します。
    request = CreateTimeseriesTableRequest(tableMeta)
    otsClient.create_timeseries_table(request)
    print("create timeseries table success.")
except Exception as e:
    # 例外がスローされた場合、時系列テーブルの作成に失敗します。例外を処理します。
    print("create timeseries table failed. %s" % e)

Lastpoint インデックスを使用して時系列テーブルを作成する

次のサンプルコードは、Lastpoint インデックスを使用して時系列テーブルを作成する方法の例を示しています。

try:
    # 時系列テーブルのデータの保持期間を 86,400 秒 (1 日) に設定します。
    tableOption = TimeseriesTableOptions(86400)
    # 時系列メタデータの保持期間を 604,800 秒 (7 日) に設定し、時系列メタデータの属性の更新を許可しないように指定します。
    metaOption = TimeseriesMetaOptions(604800, False)
    tableMeta = TimeseriesTableMeta("", tableOption, metaOption)

    # Lastpoint インデックスを構成します。
    lastPointIndex = LastpointIndexMeta("")

    # 時系列テーブルを作成する操作を呼び出します。
    request = CreateTimeseriesTableRequest(tableMeta, None, [lastPointIndex])
    otsClient.create_timeseries_table(request)
    print("create timeseries table success.")
except Exception as e:
    # 例外がスローされた場合、時系列テーブルの作成に失敗します。例外を処理します。
    print("create timeseries table failed. %s" % e)