Submit Data Deletion Job

提交数据清理任务,删除存储在 TSDB 中的资产历史数据。

操作权限

需授权的资源 所需操作权限
资产 Write

有关各资源及其对应的权限,参考 策略,角色,与权限>>

请求格式

POST https://{apigw-address}/tsdb-service/v2.1/data/tsdb-delete

请求参数(URI)

名称 位置(Path/Query) 必需/可选 数据类型 描述
orgId Query 必需 String 资产所属的组织ID。如何获取orgId信息>>

请求参数(Body)

名称 必需/可选 数据类型 描述
modelId 必需 String 待删除数据所属的模型。如何获取modelId信息>>
pointId 可选 String 待删除数据所属的测点。若不指定测点,则删除指定模型和资产的所有测点数据。如何获取pointId信息>>
assetIds 必需 String 资产ID,支持删除多个资产的历史数据,多个资产ID之间用英文逗号隔开。如何获取Asset ID信息>>
startTime 必需 String 以时间戳格式指定删除数据的时间范围(起始时间),例如:1615444301240
endTime 必需 String 以时间戳格式指定删除数据的时间范围(结束时间),例如:1615530701240

响应参数

名称 数据类型 描述
data Number 返回数据清理任务的ID。

错误码

有关错误码的描述,参见 通用错误码

示例

请求示例

url: https://{apigw-address}/tsdb-service/v2.1/data/tsdb-delete?orgId=yourOrgId

method: POST

requestBody:
{
  "pointId": "yourPointId",
  "modelId": "yourModelId",
  "assetIds": "yourAssetIds",
  "startTime": "1615444301240",
  "endTime": "1615530701240"
}

返回示例

{
  "msg": "OK",
  "code": 0,
  "data": 302037106667073536,
  "submsg": "success"
}

Java SDK调用示例

import com.alibaba.fastjson.JSONObject;
import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envision.apim.poseidon.request.PoseidonRequest;

public class SubmitDataDeletionJob {
    private static final String API_GATEWAY_URL = "https://{apigw-address}";

    private static class Request extends PoseidonRequest {

        public void setBodyParams(String key, Object value) {
            bodyParams().put(key, value);
        }

        public void setMethod(String method) {
            this.method = method;
        }

        private String method;

        @Override
        public String baseUri() {
            return "";
        }

        @Override
        public String method() {
            return method;
        }
    }

    public static void main(String[] args) {
        //1.在EnOS管理门户的左边导航栏中点击应用注册。
        //2.点击需调用API的应用,查看基本信息中的AccessKey和SecretKey
        Poseidon poseidon = Poseidon.config(
                PConfig.init()
                        .appKey("AccessKey of your APP")
                        .appSecret("SecretKey of your APP")
        ).method("POST").header("Content-Type", "application/json");
        Request request = new Request();
        request.setBodyParams("modelId", "yourModelId");
        request.setBodyParams("pointId", "yourPointId");
        request.setBodyParams("assetIds", "yourAssetId1,yourAssetId2");
        request.setBodyParams("startTime", "1615444301240");
        request.setBodyParams("endTime", "1615530701240");

        JSONObject response =  poseidon
                .url(API_GATEWAY_URL + "/tsdb-service/v2.1/data/tsdb-delete")
                .queryParam("orgId", "yourOrgId")
                .getResponse(request, JSONObject.class);
        System.out.println(response);
    }
}