删除时间线元数据

更新时间:
复制 MD 格式

使用 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(必选)

String

时序表名称。

timeseriesKeys(必选)

List<TimeseriesKey>

要删除元数据的时间线标识列表,不能为空。可以在一次请求中删除多条元数据。

时间线标识

timeseriesKeys[] 中每个元素的类型为 TimeseriesKey,包含以下参数。

名称

类型

说明

measurementName(必选)

String

度量名称。Java SDK 5.17.2 及以上版本支持将其设置为空。

dataSource(可选)

String

数据源标识,可以为空。

tags(可选)

SortedMap<String, String>

标签信息,由字符串类型的键值对组成。未设置时使用空映射。完整时间线标识必须与目标元数据一致。

返回值

DeleteTimeseriesMetaResponse 包含以下业务返回字段。

字段

类型

说明

failedRows

List<DeleteTimeseriesMetaResponse.FailedRowResult>

通过 getFailedRows() 获取删除失败的元数据。全部删除成功时返回空列表,也可以通过 isAllSuccess() 判断是否全部成功。

失败行信息

failedRows[] 中每个元素的类型为 DeleteTimeseriesMetaResponse.FailedRowResult,包含以下字段。

字段

类型

说明

index

int

通过 getIndex() 获取失败元数据在请求 timeseriesKeys 列表中的下标。

error

Error

通过 getError() 获取失败原因。