Search Flow

Search the basic information of workflows that meet the specified conditions (including workflows of other users in the OU).

Prerequisites

The user must belong to the OU which the target workflows belong to.

Request Format

POST https://{apigw-address}/dataflow-batch-service/v2.0/flows?action=search&userId={}&orgId={}

Request Parameters (URI)

Name

Location (Path/Query)

Required or Not

Data Type

Description

userId

Query

true

String

User ID. How to get userId>>

orgId

Query

true

String

Organization ID which the user belongs to. How to get orgId>>

Request Parameters (Body)

Name

Required or Not

Data Type

Description

expression

false

String

Expression for searching workflows

pagination

false

Pagination Struct

Paging parameter. See Pagination Struct

Pagination Struct

Sample

{
    "pagination": {
        "pageNo": 0,
        "pageSize": 10,
        "sorters": [{
            "field": "flow_name",
            "order": "ASC"
        }]
    }
}

Parameters

Name

Required or Not

Data Type

Description

pageNo

true

Integer

Request pages, starting from 0

pageSize

true

Integer

Number of records in each page, which must be greater than 0

sorters

false

Sorter Struct

Pagination sorting method

sorters.field

true

String

Pagination field name

sorters.order

false

String

ASC means ascending order; DESC means descending order, which is set as ASC by default

Response Parameters

Name

Data Type

Description

data

List<PageFlow>

Collection of PageFlow structs, which contain the basic information of searched workflows. See PageFlow Struct

PageFlow Struct

Sample

{
    "flow_id": "21",
    "flow_name": "dim_wtg_full"
}

Parameters

Name

Data Type

Description

flow_id

Integer

Workflow ID

flow_name

String

Name of workflow

Error Code

See Common Error Codes.

Sample

Request Sample

url: https://{apigw-address}/dataflow-batch-service/v2.0/flows?action=search&userId={}&orgId={}

method: POST

requestBody:
{
    "expression": "",
    "pagination":{
        "pageNo": 0,
        "pageSize": 10,
        "sorters": [{
            "field": "update_time",
            "order": "ASC"
        }]
    }
}

Return Sample

{
    "status": 0,
    "msg": " Success",
    "data": [
        {
            "flow_id": "20",
            "flow_name": "vd_text"
        },
        {
            "flow_id": "21",
            "flow_name": "dim_wtg_full"
        },
        {
            "flow_id": "22",
            "flow_name": "wenl_dim_fact_downtime"
        }
    ]
}

Java SDK Sample

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

public class Request extends PoseidonRequest {
    public void setQueryParam(String key, Object value){
        QueryParams().put(key, value);
    }
    public void setHeaderParam(String key, String value){
        headerParams().put(key, value);
    }
    public void setBodyParam(Map<String, Object> bodyPara){
        bodyParams().putAll(bodyPara);
    }
    public void setMethod(String method) {
        this.method = method;
    }
    private String method;
    public String baseUri() {
        return "";
    }
    public String method() {
        return method;
    }
}

public void pagingFlowsTest(){
        //1. Select Application Registration from the left navigation bar of EnOS Console.
        //2. Open the App Detail page to get the AccessKey and SecretKey of the application.
        String accessKey = "***************";
        String secretKey = "***************";

        //Create a request and save the required parameters in the map of the Query.
        Request request = new Request();
        request.setQueryParam("userId","your_userId");
        request.setQueryParam("orgId","your_orgId");

        HashMap<String,Object> bodyMap= new HashMap<String, Object>(2);
        bodyMap.put("expression","");
        HashMap<String,Object> paginationMap= new HashMap<String, Object>(3);
        paginationMap.put("pageNo",0);
        paginationMap.put("pageSize",10);
        List<HashMap<String,Object>> list = new ArrayList<HashMap<String,Object>>();
        HashMap<String,Object> sorterMap= new HashMap<String, Object>(2);
        sorterMap.put("field","update_time");
        sorterMap.put("order","ASC");
        list.add(sorterMap);
        paginationMap.put("sorters",list);
        bodyMap.put("pagination",paginationMap);
        request.setBodyParam(bodyMap);
        request.setMethod("POST");

        try {
            JSONObject response = Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
                    .url("https://{apigw-address}/dataflow-batch-service/v2.0/flows?action=search")
                    .getResponse(request, JSONObject.class);

            System.out.println(response);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }