使用 Java SDK 批次更新時間軸中繼資料的屬性,並擷取更新失敗行的錯誤資訊。
前提條件
-
安裝Tablestore Java SDK並初始化時序模型用戶端。
-
目標時序表允許更新時間軸中繼資料屬性。如果未允許,請先更新時序表配置,將
allowUpdateAttributes設定為true。
功能說明
調用 updateTimeseriesMeta 方法批次更新時間軸中繼資料屬性。如果指定的時間軸中繼資料不存在,服務端會新增該中繼資料。
public UpdateTimeseriesMetaResponse updateTimeseriesMeta(UpdateTimeseriesMetaRequest request) throws TableStoreException, ClientException
時間軸中繼資料索引非同步更新。提交更新後,需等待索引更新完成才能檢索到最新屬性。
以下樣本將 example_timeseries_table 中指定時間軸的 status 屬性更新為 online,並檢查失敗行。
Map<String, String> tags = new HashMap<>();
tags.put("region", "cn-hangzhou");
tags.put("host", "host_0");
TimeseriesKey timeseriesKey =
new TimeseriesKey("cpu", "source_0", tags);
Map<String, String> attributes = new HashMap<>();
attributes.put("status", "online");
TimeseriesMeta meta = new TimeseriesMeta(timeseriesKey);
meta.setAttributes(attributes);
UpdateTimeseriesMetaRequest request =
new UpdateTimeseriesMetaRequest("example_timeseries_table");
request.setMetas(Collections.singletonList(meta));
UpdateTimeseriesMetaResponse response =
timeseriesClient.updateTimeseriesMeta(request);
for (UpdateTimeseriesMetaResponse.FailedRowResult result : response.getFailedRows()) {
System.out.println(result.getIndex());
System.out.println(result.getError());
}
參數說明
UpdateTimeseriesMetaRequest 包含以下參數。
|
名稱 |
類型 |
說明 |
|
timeseriesTableName(必選) |
|
時序表名稱。 |
|
metas(必選) |
|
要更新的時間軸中繼資料列表,不可為空。可以在一次請求中更新多條中繼資料。 |
時間軸中繼資料
metas[] 中每個元素的類型為 TimeseriesMeta,包含以下參數。
|
名稱 |
類型 |
說明 |
|
timeseriesKey(必選) |
|
要更新的時間軸標識。 |
|
attributes(可選) |
|
要設定的中繼資料屬性,由字串類型的索引值對組成。未設定或設定為空白映射時,Java SDK 不發送屬性內容。 |
updateTimeInUs 由服務端產生,是檢索時間軸中繼資料時的返回欄位。更新時間軸中繼資料時不要設定該欄位,否則 Java SDK 會拒絕請求。
時間軸標識
metas[].timeseriesKey 的類型為 TimeseriesKey,包含以下參數。
|
名稱 |
類型 |
說明 |
|
measurementName(必選) |
|
度量名稱。Java SDK 5.17.2 及以上版本支援將其設定為空白。 |
|
dataSource(可選) |
|
資料來源標識,可以為空白。 |
|
tags(可選) |
|
標籤資訊,由字串類型的索引值對組成。未設定時使用空映射。 |
傳回值
UpdateTimeseriesMetaResponse 包含以下業務返回欄位。
|
欄位 |
類型 |
說明 |
|
|
|
通過 |
失敗行資訊
failedRows[] 中每個元素的類型為 UpdateTimeseriesMetaResponse.FailedRowResult,包含以下欄位。
|
欄位 |
類型 |
說明 |
|
|
|
通過 |
|
|
|
通過 |