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

Tablestore:時系列の取得

最終更新日:Apr 23, 2025

QueryTimeseriesMeta 操作を呼び出すことで、特定の条件を満たす時系列を取得できます。

前提条件

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

パラメーター

パラメーター

説明

timeseriesTableName (必須)

時系列テーブルの名前。

condition (オプション)

時系列を取得するためのクエリ条件。以下の条件の組み合わせがサポートされています。

  • CompositeMetaQueryCondition: 複合条件。以下の項目で構成されます。

    • operator: 論理演算子。有効な値: OP_ANDOP_OROP_NOT

    • sub_conditions: operator を使用して結合され、複雑なクエリ条件を形成するサブ条件のリスト。

  • MeasurementMetaQueryCondition: メトリック名条件。

    • operator: 関係演算子またはプレフィックス一致条件 (OP_PREFIX)。関係演算子は、OP_EQUALOP_NOT_EQUALOP_GREATER_THANOP_GREATER_EQUALOP_LESS_THAN、または OP_LESS_EQUAL を指定できます。

    • value: クエリ対象の時系列のメトリック名。型: 文字列。

  • DataSourceMetaQueryCondition: データソース条件。

    • operator: 関係演算子またはプレフィックス一致条件 (OP_PREFIX)。関係演算子は、OP_EQUALOP_NOT_EQUALOP_GREATER_THANOP_GREATER_EQUALOP_LESS_THAN、または OP_LESS_EQUAL を指定できます。

    • value: クエリ対象の時系列のデータソース名。型: 文字列。

  • TagMetaQueryCondition: タグ条件。

    • operator: 関係演算子またはプレフィックス一致条件 (OP_PREFIX)。関係演算子は、OP_EQUALOP_NOT_EQUALOP_GREATER_THANOP_GREATER_EQUALOP_LESS_THAN、または OP_LESS_EQUAL を指定できます。

    • tag_name: クエリ対象の時系列のタグ名。型: 文字列。

    • value: クエリ対象の時系列のタグ値。型: 文字列。

  • UpdateTimeMetaQueryCondition: 時系列メタデータの更新時刻条件。

    • operator: 関係演算子。有効な値: OP_EQUALOP_NOT_EQUALOP_GREATER_THANOP_GREATER_EQUALOP_LESS_THANOP_LESS_EQUAL

    • time_in_us: 時系列メタデータの更新時刻のタイムスタンプ。型: 整数。単位: マイクロ秒。

  • AttributeMetaQueryCondition: 時系列メタデータの属性条件。

    • operator: 関係演算子またはプレフィックス一致条件 (OP_PREFIX)。関係演算子は、OP_EQUALOP_NOT_EQUALOP_GREATER_THANOP_GREATER_EQUALOP_LESS_THAN、または OP_LESS_EQUAL を指定できます。

    • attribute_name: 属性の名前。型: 文字列。

    • value: 属性の値。型: 文字列。

getTotalHits (オプション)

指定された取得条件を満たす行の総数を返すかどうかを指定します。デフォルト値: False。

limit (オプション)

このリクエストで返される行の最大数。デフォルト値: 100。有効な値: (0,1000]

説明

limit パラメーターは、返される行の最大数のみを制限します。指定された条件を満たす行数が limit を超えていても、スキャンの最大データ量などの他の制限により、返される行数が limit パラメーターの値よりも少ない場合があります。この場合、nextToken パラメーターを使用して残りの行を取得できます。

nextToken (オプション)

指定された条件を満たす行の一部のみがクエリで返された場合、応答には nextToken パラメーターが含まれます。次のリクエストで nextToken パラメーターを指定して、残りの行を取得できます。

重要

nextToken を永続化したり、フロントエンドページに転送したりする場合は、Base64 を使用して nextToken を文字列にエンコードできます。 nextToken 自体は文字列ではありません。 str(nextToken) を使用してトークンを文字列として直接エンコードすると、トークン情報が失われます。

次のサンプルコードは、時系列テーブル内の指定された条件を満たす時系列を取得する方法の例を示しています。

try:
    # クエリ条件: メトリック名が "cpu" で、"os" という名前のタグのプレフィックスが "Ubuntu" であるすべての時系列。
    # これは、measurement_name="cpu" and have_prefix(os, "Ubuntu") と同等です。
    measCond = MeasurementMetaQueryCondition(MetaQuerySingleOperator.OP_EQUAL, "cpu")
    tagCond = TagMetaQueryCondition(MetaQuerySingleOperator.OP_PREFIX, "os", "Ubuntu")
    condition = CompositeMetaQueryCondition(MetaQueryCompositeOperator.OP_AND, [measCond, tagCond])

    request = QueryTimeseriesMetaRequest("", condition)
    # 操作を呼び出して時系列を取得します。
    response = ots_client.query_timeseries_meta(request)
    print("query timeseries metas succeeded. ")
    for timeseriesMeta in response.timeseriesMetas:
        print("data_source: %s, measurement_name: %s, tags: %s, attributes : %s, update_time_in_us: %s." % (
        timeseriesMeta.timeseries_key.data_source, timeseriesMeta.timeseries_key.measurement_name,
        timeseriesMeta.timeseries_key.tags,
        timeseriesMeta.attributes, timeseriesMeta.update_time_in_us))
except Exception as e:
    # 例外がスローされた場合、クエリは失敗します。例外を処理します。
    print("query timeseries meta failed. %s" % e)