使用 Java SDK 批量删除时间线元数据,并获取删除失败行的错误信息。删除元数据不会删除对应的时序数据。
前提条件
安装Tablestore Java SDK并初始化时序模型客户端。
功能说明
调用 deleteTimeseriesMeta 方法按完整的时间线标识批量删除时间线元数据。该操作只删除元数据索引中的记录,不删除时间线中已写入的数据。
public DeleteTimeseriesMetaResponse deleteTimeseriesMeta(DeleteTimeseriesMetaRequest request) throws TableStoreException, ClientException
以下示例删除 example_timeseries_table 中指定时间线的元数据,并检查失败行。
Map<String, String> tags = new HashMap<>();
tags.put("region", "cn-hangzhou");
tags.put("host", "host_0");
TimeseriesKey timeseriesKey =
new TimeseriesKey("cpu", "source_0", tags);
DeleteTimeseriesMetaRequest request =
new DeleteTimeseriesMetaRequest("example_timeseries_table");
request.setTimeseriesKeys(Collections.singletonList(timeseriesKey));
DeleteTimeseriesMetaResponse response =
timeseriesClient.deleteTimeseriesMeta(request);
for (DeleteTimeseriesMetaResponse.FailedRowResult result : response.getFailedRows()) {
System.out.println(result.getIndex());
System.out.println(result.getError());
}
参数说明
DeleteTimeseriesMetaRequest 包含以下参数。
|
名称 |
类型 |
说明 |
|
timeseriesTableName(必选) |
|
时序表名称。 |
|
timeseriesKeys(必选) |
|
要删除元数据的时间线标识列表,不能为空。可以在一次请求中删除多条元数据。 |
时间线标识
timeseriesKeys[] 中每个元素的类型为 TimeseriesKey,包含以下参数。
|
名称 |
类型 |
说明 |
|
measurementName(必选) |
|
度量名称。Java SDK 5.17.2 及以上版本支持将其设置为空。 |
|
dataSource(可选) |
|
数据源标识,可以为空。 |
|
tags(可选) |
|
标签信息,由字符串类型的键值对组成。未设置时使用空映射。完整时间线标识必须与目标元数据一致。 |
返回值
DeleteTimeseriesMetaResponse 包含以下业务返回字段。
|
字段 |
类型 |
说明 |
|
|
|
通过 |
失败行信息
failedRows[] 中每个元素的类型为 DeleteTimeseriesMetaResponse.FailedRowResult,包含以下字段。
|
字段 |
类型 |
说明 |
|
|
|
通过 |
|
|
|
通过 |