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

Tablestore:時系列メタデータのクエリ

最終更新日:Aug 04, 2026

Tablestore SDK for Java を使用して、メジャーメント名、データソース、タグ、属性、または更新時間によって時系列メタデータをクエリし、条件を組み合わせて、結果をページネーションします。

前提条件

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

説明

queryTimeseriesMeta を呼び出して、時系列テーブル内の時系列メタデータをクエリします。 条件を指定しない場合、すべての時系列メタデータが返されます。 条件を指定した場合、メタデータは 1 つ以上の時系列の特性によってフィルター処理されます。

public QueryTimeseriesMetaResponse queryTimeseriesMeta(QueryTimeseriesMetaRequest request) throws TableStoreException, ClientException
説明

サーバーは、新しい時系列のメタデータインデックスを非同期で構築します。新しい時系列を書き込んだ後、インデックスが構築されるまで待ってから、そのメタデータをクエリしてください。

次の例では、example_timeseries_table 内で、メジャー名が cpu で、os タグ値が Ubuntu で始まる時系列のメタデータをクエリします。

CompositeMetaQueryCondition condition =
        new CompositeMetaQueryCondition(MetaQueryCompositeOperator.OP_AND);
condition.addSubCondition(new MeasurementMetaQueryCondition(
        MetaQuerySingleOperator.OP_EQUAL, "cpu"));
condition.addSubCondition(new TagMetaQueryCondition(
        MetaQuerySingleOperator.OP_PREFIX, "os", "Ubuntu"));

QueryTimeseriesMetaRequest request =
        new QueryTimeseriesMetaRequest("example_timeseries_table");
request.setCondition(condition);
request.setGetTotalHits(true);
request.setLimit(100);

QueryTimeseriesMetaResponse response =
        timeseriesClient.queryTimeseriesMeta(request);
System.out.println(response.getTotalHits());
for (TimeseriesMeta meta : response.getTimeseriesMetas()) {
    System.out.println(meta);
}

パラメーター

QueryTimeseriesMetaRequest には、以下のパラメーターが含まれています。

名前

型

説明

timeseriesTableName (必須)

String

時系列テーブル名です。

condition (任意)

MetaQueryCondition

時系列メタデータのクエリに使用する条件です。このパラメーターを指定しない場合、すべての時系列メタデータが返されます。

getTotalHits (任意)

ブーリアン

一致する時系列メタデータエントリの総数を返すかどうかを指定します。デフォルト: false。

limit (任意)

int

1 回のリクエストで返される時系列メタデータエントリの最大数です。正の値のみが有効です。実際に返されるエントリ数は、この値より少ない場合があります。

nextToken (任意)

byte[]

ページネショントークン。このパラメーターは、最初のリクエストでは指定しないでください。レスポンスの nextToken が null でない場合は、次のリクエストに渡してください。空のページや、limit より少ないエントリを含むページに基づいてクエリが完了したと判断しないでください。バイナリトークンを永続化または転送するには、Base64 でエンコードしてください。

condition は、次のいずれかの条件タイプに設定できます。文字列条件は OP_EQUAL、OP_GREATER_THAN、OP_GREATER_EQUAL、OP_LESS_THAN、OP_LESS_EQUAL、および OP_PREFIX をサポートします。更新時の条件は OP_PREFIX をサポートしていません。

複合条件

condition が CompositeMetaQueryCondition 型の場合、以下のパラメーターが含まれます。

名前

型

説明

operator (必須)

MetaQueryCompositeOperator

論理演算子。有効な値は OP_AND、OP_OR、および OP_NOT です。

subConditions (必須)

List<MetaQueryCondition>

組み合わせる条件の空でないリストです。サブ条件も複合条件にすることができます。

メジャーメント名条件

condition が MeasurementMetaQueryCondition 型の場合、以下のパラメーターが含まれます。

名前

型

説明

operator (必須)

MetaQuerySingleOperator

クエリ演算子です。

value (必須)

文字列

一致させるメジャーメント名です。

データソース条件

condition が DataSourceMetaQueryCondition 型の場合、次のパラメーターが含まれます。

名前

型

説明

operator (必須)

MetaQuerySingleOperator

クエリ演算子です。

value (必須)

String

一致させるデータソース識別子です。

タグ条件

condition が TagMetaQueryCondition 型の場合、以下のパラメーターを含みます。

名前

型

説明

operator (必須)

MetaQuerySingleOperator

クエリ演算子です。

tagName (必須)

文字列

一致させる空でないタグ名です。

value (必須)

文字列

一致させるタグ値です。

属性条件

condition が AttributeMetaQueryCondition タイプの場合、次のパラメーターが含まれます。

名前

型

説明

operator (必須)

MetaQuerySingleOperator

クエリ演算子です。

attributeName (必須)

文字列

一致させる空でない属性名です。

value (必須)

文字列

一致させる属性値です。

更新時間条件

condition が UpdateTimeMetaQueryCondition 型の場合、次のパラメーターが含まれます。

名前

型

説明

operator (必須)

MetaQuerySingleOperator

クエリ演算子。有効な値は OP_EQUAL、OP_GREATER_THAN、OP_GREATER_EQUAL、OP_LESS_THAN、および OP_LESS_EQUAL です。

timeInUs (必須)

long

メタデータの最終更新時間です。1970-01-01 00:00:00 UTC からのマイクロ秒単位で指定します。

レスポンス

QueryTimeseriesMetaResponse には、以下の操作固有のフィールドが含まれます。

フィールド

型

説明

timeseriesMetas

List<TimeseriesMeta>

getTimeseriesMetas() を呼び出して、現在のリクエストによって返される時系列メタデータを取得します。

totalHits

long

getTotalHits() を呼び出して、一致する時系列メタデータエントリの総数を取得します。この総数は、リクエストで getTotalHits が true に設定されている場合にのみ有効です。それ以外の場合、値は -1 になります。

nextToken

byte[]

getNextToken() を呼び出して、次のページのトークンを取得します。値が null の場合、すべての結果が返されたことを示します。

時系列メタデータ

timeseriesMetas[] の各要素は TimeseriesMeta 型で、以下のフィールドを含みます。

フィールド

型

説明

timeseriesKey

TimeseriesKey

getTimeseriesKey() を呼び出して時系列識別子を取得します。

属性

SortedMap<String, String>

getAttributes() を呼び出してメタデータ属性を取得します。

updateTimeInUs

long

getUpdateTimeInUs() を呼び出して、メタデータの最終更新時刻をマイクロ秒単位で取得します。

時系列識別子

timeseriesMetas[].timeseriesKey は TimeseriesKey 型で、以下のフィールドが含まれます。

フィールド

型

説明

measurementName

String

getMeasurementName() を呼び出して、測定名を取得します。

dataSource

String

getDataSource() を呼び出して、データソース識別子を取得します。

タグ

SortedMap<String, String>

getTags() を呼び出してタグを取得します。

例

すべてのメタデータのページネーション

レスポンスの nextToken が null でない場合、すべての結果が返されるまでトークンを繰り返し渡します。

List<TimeseriesMeta> allMetas = new ArrayList<>();
byte[] nextToken = null;
do {
    request.setNextToken(nextToken);
    QueryTimeseriesMetaResponse response =
            timeseriesClient.queryTimeseriesMeta(request);

    allMetas.addAll(response.getTimeseriesMetas());
    nextToken = response.getNextToken();
} while (nextToken != null);