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

Tablestore:時系列データの書き込み

最終更新日:Aug 04, 2026

Tablestore SDK for Java を使用して、1 行以上の時系列データを書き込み、書き込みに失敗した行のエラー情報を取得します。

前提条件

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

説明

putTimeseriesData を呼び出して、時系列テーブルに 1 行以上のデータを書き込みます。各行は、時系列識別子、データポイントのタイムスタンプ、およびデータフィールドで構成されます。レスポンスには、書き込みに失敗した行とそのエラー情報が含まれます。

public PutTimeseriesDataResponse putTimeseriesData(PutTimeseriesDataRequest request) throws TableStoreException, ClientException

次の例では、同一の時系列に対する 3 つのデータポイントを example_timeseries_table に書き込み、各行の結果を確認します。

TimeseriesClient timeseriesClient = client.asTimeseriesClient();

String tableName = "example_timeseries_table";
List<TimeseriesRow> rows = new ArrayList<>();

Map<String, String> tags = new HashMap<>();
tags.put("region", "cn-hangzhou");
tags.put("host", "host_0");
TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "source_0", tags);

long baseTimeInUs = System.currentTimeMillis() * 1000L;
for (int i = 0; i < 3; i++) {
    TimeseriesRow row = new TimeseriesRow(timeseriesKey, baseTimeInUs + i * 1000L);
    row.addField("cpu_usage", ColumnValue.fromDouble(10.0 + i));
    row.addField("status", ColumnValue.fromString("ok"));
    rows.add(row);
}

PutTimeseriesDataRequest request = new PutTimeseriesDataRequest(tableName);
request.setRows(rows);
PutTimeseriesDataResponse response = timeseriesClient.putTimeseriesData(request);

for (PutTimeseriesDataResponse.FailedRowResult result : response.getFailedRows()) {
    System.out.println(result.getIndex());
    System.out.println(result.getError());
}

パラメーター

PutTimeseriesDataRequest には、次のパラメーターが含まれます。

名前

タイプ

説明

timeseriesTableName (必須)

String

時系列テーブル名。

rows (必須)

List<TimeseriesRow>

書き込む時系列データの行。

metaUpdateMode (任意)

PutTimeseriesDataRequest.MetaUpdateMode

時系列メタデータの更新モード。デフォルト値は NORMAL で、サーバーが時系列メタデータインデックスを更新するかどうかを判断できます。このパラメーターを IGNORE に設定すると、今回の書き込みではメタデータインデックスは更新されません。この設定は、時系列メタデータのクエリおよび SQL クエリに影響する場合があります。

時系列データ行

rows[] の各要素は TimeseriesRow 型で、次のパラメーターが含まれます。

名前

タイプ

説明

timeseriesKey (必須)

TimeseriesKey

時系列識別子。

timeInUs (必須)

long

1970-01-01 00:00:00 UTC からの経過時間をマイクロ秒単位で表したデータポイントのタイムスタンプ。この値は 0 以上である必要があります。

fields (必須)

SortedMap<String, ColumnValue>

1 つ以上のフィールド名とフィールド値で構成されるデータフィールド。

時系列識別子

rows[].timeseriesKeyTimeseriesKey 型で、次のパラメーターが含まれます。

名前

タイプ

説明

measurementName (必須)

String

測定名。Tablestore SDK for Java 5.17.2 以降では、このパラメーターを空にできます。

dataSource (任意)

String

データソース識別子。このパラメーターは空にできます。

tags (任意)

SortedMap<String, String>

文字列のキーと値のペアで構成されるタグ。このパラメーターを指定しない場合は、空のマップが使用されます。

レスポンス

PutTimeseriesDataResponse には、オペレーション固有のフィールドとして、次のものが含まれます。

フィールド

タイプ

説明

failedRows

List<PutTimeseriesDataResponse.FailedRowResult>

getFailedRows() を呼び出して、書き込みに失敗した行を取得します。すべての行が正常に書き込まれた場合、空のリストが返されます。また、isAllSuccess() を呼び出して、すべての行が正常に書き込まれたかどうかを判断できます。

失敗した行の情報

failedRows[] の各要素は PutTimeseriesDataResponse.FailedRowResult 型で、次のフィールドが含まれます。

フィールド

タイプ

説明

index

int

getIndex() を呼び出して、リクエストの rows リスト内の失敗した行のインデックスを取得します。

error

Error

getError() を呼び出して、失敗理由を取得します。