Delete Stage State

删除指定流数据处理任务中某个指定算子的中间状态数据。

前提条件

调用本API之前,须暂停目标流数据处理任务。

请求格式

POST https://{apigw-address}/streaming/v2.0/stage-state?action=delete

请求参数(URI)

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

用户所属的组织ID。如何获取orgId信息>>

请求参数(Body)

名称

必需/可选

数据类型

描述

pipelineId

必需

String

流数据处理任务ID,可通过 EnOS管理门口 > 流数据处理 > 流运维 页面查看。

stageInstanceName

必需

String

算子实例名称,可通过 流运维 页面,点击流数据处理任务名称,选择算子后,在 Info 页面查看。

assetIds

必需

String

资产ID,支持查询多个资产,多个资产ID之间用英文逗号隔开。

pointIds

必需

String

测点ID,支持多测点查询,多个测点间用英文逗号隔开;支持查询的(资产数*测点数)上限为10万。

响应参数

名称

数据类型

描述

data

Boolean

请求成功返回 true,否则返回 false

错误码

代码

错误信息

描述

61102

Missing param xx.

参数格式不正确。

61105

Too many points.

请求的总测点数超过限制。

61106

Wrong pipelineId or OU has no privilege.

pipelineId不正确,或者不属于指定的组织。

61107

Not supported Stage type.

不支持的算子类型。

61199

其他错误。

示例

请求示例

url: https://{apigw-address}/streaming/v2.0/stage-state?action=delete&orgId=yourOrgId

method: POST

requestBody:
{
    "pipelineId":"yourPipelineId",
    "stageInstanceName":"yourStageInstanceName",
    "assetIds":"yourAssetIds",
    "pointIds":"yourPointIds"
}

返回示例

{
  "code": 0,
  "msg": " OK",
  "data": true
}

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;
import org.junit.Before;
import org.junit.Test;

public class Sample {
    private static final String API_Gateway_URL = "https://{domain_url}";
    private Poseidon poseidon;

    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;
        }
    }

    @Before
    public void init() {
        poseidon = Poseidon.config(
                PConfig.init()
                        .appKey("AccessKey of your APP")
                        .appSecret("SecretKey of your APP")
        ).method("POST");
    }

    @Test
    public void DeleteStageState() {
        Request request = new Request();
        request.setBodyParams("assetIds", "yourAssetId");
        request.setBodyParams("pointIds", "yourPointId");
        request.setBodyParams("pipelineId", "yourPipelineId");
        request.setBodyParams("stageInstanceName", "yourStageInstanceName");

        JSONObject response = poseidon
                .url(API_Gateway_URL + "/streaming/v2.0/stage-state")
                .queryParam("orgId", "yourOrgId")
                .queryParam("action", "delete")
                .getResponse(request, JSONObject.class);
        System.out.println(response);
    }
}