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 (必須) |
|
時系列テーブル名。 |
|
rows (必須) |
|
書き込む時系列データの行。 |
|
metaUpdateMode (任意) |
|
時系列メタデータの更新モード。デフォルト値は |
時系列データ行
rows[] の各要素は TimeseriesRow 型で、次のパラメーターが含まれます。
|
名前 |
タイプ |
説明 |
|
timeseriesKey (必須) |
|
時系列識別子。 |
|
timeInUs (必須) |
|
1970-01-01 00:00:00 UTC からの経過時間をマイクロ秒単位で表したデータポイントのタイムスタンプ。この値は |
|
fields (必須) |
|
1 つ以上のフィールド名とフィールド値で構成されるデータフィールド。 |
時系列識別子
rows[].timeseriesKey は TimeseriesKey 型で、次のパラメーターが含まれます。
|
名前 |
タイプ |
説明 |
|
measurementName (必須) |
|
測定名。Tablestore SDK for Java 5.17.2 以降では、このパラメーターを空にできます。 |
|
dataSource (任意) |
|
データソース識別子。このパラメーターは空にできます。 |
|
tags (任意) |
|
文字列のキーと値のペアで構成されるタグ。このパラメーターを指定しない場合は、空のマップが使用されます。 |
レスポンス
PutTimeseriesDataResponse には、オペレーション固有のフィールドとして、次のものが含まれます。
|
フィールド |
タイプ |
説明 |
|
|
|
|
失敗した行の情報
failedRows[] の各要素は PutTimeseriesDataResponse.FailedRowResult 型で、次のフィールドが含まれます。
|
フィールド |
タイプ |
説明 |
|
|
|
|
|
|
|
|