Get Flow Instance¶
Get the information of a specified workflow instance.
Prerequisites¶
The user must be an EnOS user.
Request Format¶
GET https://{apigw-address}/dataflow-batch-service/v2.0/flowInstances?action=get&flowInstId={}&userId={}&orgId={}
Request Parameters (URI)¶
Name |
Location (Path/Query) |
Required or Not |
Data Type |
Description |
---|---|---|---|---|
flowInstId |
Query |
true |
String |
ID of the workflow instance |
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>> |
Response Parameters¶
Name |
Data Type |
Description |
---|---|---|
data |
FlowInstance Struct |
Detailed information of the workflow instance. See FlowInstance Struct |
FlowInstance Struct¶
Sample¶
{
"instanceId": "2438-201907261239",
"flowId": 2438,
"flowName": "rew",
"freq": "0 1/1 * * * ? *",
"cycle": "mi",
"parameters": "[]",
"doAs": "db_xxxx",
"graph": "{"creator":"xxxxxx","freq":"0 1/1 * * * ? *","alert_mode":3,"owners":";xxxxxx;","cycle":"mi","do_as":"db_xxxx","flows":[],"alert_to":"","name":"rew","inst_id":"2438-201907261239","id":2438,"relations":[],"parameters":"[]","app_id":"","tasks":[{"task_name":"fr","task_inst_id":"104452-201907261239","x":0.0198,"y":0.0045,"task_id":104452,"node_id":"t_104452","status":"SUCCESS"}]}",
"status": 0,
"statusDesc": "INIT",
"triggerTime": "2019-07-26 20:39:00",
"startTime": "2019-07-26 12:39:37",
"endTime": "2019-07-26 12:39:42",
"timestamp": "2019-07-26 12:38:30.0",
"virtual": false,
"owner": "xxxxx",
"alertMode": 3,
"calDt": "2019-07-25",
"hasEditPri": false,
"hasReadPri": true
}
Parameters¶
Name |
Data Type |
Description |
---|---|---|
instanceId |
String |
ID of the workflow instance |
flowId |
Integer |
Workflow ID |
flowName |
Integer |
Name of the workflow |
freq |
String |
If CronTab syntax is used when specifying the time to start the workflow in a scheduling cycle, a 7-character CronTab expression is used. For more information about CronTab, see http://cron.qqe2.com/ |
cycle |
String |
Scheduling cycle (M: Month; W: Week; D: Day; H: Hour; mi: Minute) |
parameters |
List<Map<key,value>> |
Global parameters that are configured for the workflow to dynamically adapt to the environment changes (in the format of key=value). |
doAs |
String |
OU account which the workflow belongs to |
graph |
InstanceGraph Struct |
Task dependency of the workflow instance. See InstanceGraph Struct |
status |
Integer |
Task running status |
statusDesc |
String |
Description of task running status |
triggerTime |
String |
Planned triggering time of the task |
startTime |
String |
Start time of the task |
endTime |
String |
End time of the task |
timestamp |
String |
Timestamp |
virtual |
Boolean |
Whether the workflow instance is a virtual instance |
owner |
String |
Owner of the workflow instance |
alertMode |
Integer |
Alert mode (0: Not enabled; 1: Email; 2: SMS; 3: Email and SMS) |
calDt |
String |
Business date (date from which the data starts to be processed by the workflow) |
hasEditPri |
Boolean |
Whether the user has editing permission to the workflow |
hasReadPri |
Boolean |
Whether the user has reading permission to the workflow |
InstanceGraph Struct¶
Sample¶
{
"creator":"xxxxxx",
"freq":"0 0 0 * * ? *",
"alert_mode":3,
"owners":"xxxxxx",
"cycle":"D",
"do_as":"data_oxxxxxx",
"flows":[],
"alert_to":"",
"name":"21",
"inst_id":"2809-20190812080700",
"id":2809,
"relations":[],
"parameters":"[]",
"app_id":"",
"tasks":
[{
"task_name":"tass",
"task_inst_id":"104890-20190812080700",
"x":0.002,
"y":0.002,
"task_id":104890,
"node_id":"t_104890",
"status":"CANCEL"}]
}
Parameters¶
Name |
Data Type |
Description |
---|---|---|
creator |
String |
User who created the workflow instance |
freq |
String |
If CronTab syntax is used when specifying the time to start the workflow in a scheduling cycle, a 7-character CronTab expression is used. For more information about CronTab, see http://cron.qqe2.com/ |
alertMode |
Integer |
Alert mode (0: Not enabled; 1: Email; 2: SMS; 3: Email and SMS) |
owners |
String |
Owner of the workflow instance |
cycle |
String |
Scheduling cycle (M: Month; W: Week; D: Day; H: Hour; mi: Minute) |
do_as |
String |
OU account which the workflow belongs to |
flows |
List<FlowInstanceGraph> |
Workflow dependency of the workflow instance. See FlowInstanceGraph Struct |
alertTo |
String |
Receiver of alerts |
name |
String |
Name of workflow |
inst_id |
Integer |
ID of the workflow instance |
id |
Integer |
Workflow ID |
relations |
List<Relation> |
Collection of task relations, with each element representing the upstream and downstream dependency between tasks in the workflow. See Relation Struct |
parameters |
List<Map<key,value>> |
Parameters that are configured for the task to dynamically adapt to the environment changes (by the format of key=value) |
appId |
String |
Null string |
tasks |
List<TaskInstanceGraph> |
Collection of all task instances in the workflow instance. See TaskInstanceGraph Struct |
FlowInstanceGraph Struct¶
Sample¶
{
"flow_id":"2809",
"flow_name":"21",
"node_id":"f_2809",
"is_virtual":false,
"x":0.0125,
"y":0.0015,
"flow_inst_id":"2809-20190812101300",
"status":"NONE"
}
Parameters¶
Name |
Data Type |
Description |
---|---|---|
flow_id |
String |
Workflow ID |
flow_name |
String |
Name of workflow |
node_id |
String |
ID of the node that is part of other workflows |
is_virtual |
Boolean |
Whether the workflow is a virtual workflow |
x |
Double |
X-axis of the node on the configuration panel of the workflow |
y |
Double |
Y-axis of the node on the configuration panel of the workflow |
flow_inst_id |
String |
ID of workflow instance |
TaskInstanceGraph Struct¶
Sample¶
{
"task_name":"tass",
"task_inst_id":"105048-20190812101300",
"x":0.0132,
"y":0.008100000381469727,
"task_id":"104575",
"node_id":"t_104575",
"status":"INIT"
}
Parameters¶
Name |
Data Type |
Description |
---|---|---|
task_name |
String |
Name of task |
task_inst_id |
String |
ID of task instance |
x |
Double |
X-axis of the task on the configuration panel |
y |
Double |
X-axis of the task on the configuration panel |
task_id |
String |
Task ID |
node_id |
String |
Node ID (Note: Node ID is not the same with task ID, because there are task nodes and workflow nodes that have dependency relations in a workflow) |
status |
String |
Status of the task instance |
Error Code¶
See Common Error Codes.
Sample¶
Request Sample¶
url: https://{apigw-address}/dataflow-batch-service/v2.0/flowInstances?action=get&flowInstId=2809-20190808093200&userId={}&orgId={}
method: GET
Return Sample¶
{
"status": 0,
"msg": " Success",
"data": {
"instanceId": "2809-20190808093200",
"flowId": 2809,
"flowName": "21",
"freq": "0 0 0 * * ? *",
"cycle": "D",
"parameters": "[]",
"doAs": "data_oxxxxxxx",
"graph": "{"creator":"xxxxx","freq":"0 0 0 * * ? *","alert_mode":3,"owners":"xxxxxxx","cycle":"D","do_as":"data_oxxxxxx","flows":[],"alert_to":"","name":"21","inst_id":"2809-20190808093200","id":2809,"relations":[],"parameters":"[]","app_id":"","tasks":[{"task_name":"tass","task_inst_id":"104890-20190808093200","x":0.002,"y":0.002,"task_id":104890,"node_id":"t_104890","status":"SUCCESS"}]}",
"status": 1,
"statusDesc": "SUCCESS",
"triggerTime": "2019-08-08 09:32:12",
"startTime": "2019-08-08 09:32:30",
"endTime": "2019-08-08 09:32:32",
"timestamp": "2019-08-08 09:34:36.0",
"virtual": false,
"owner": "xxxxxx",
"alertMode": 3,
"calDt": "2019-08-07",
"hasEditPri": true,
"hasReadPri": true
}
}
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 flowInstanceTest(){
//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("flowInstId","2924-20190812013400");
request.setQueryParam("userId","your_userId");
request.setQueryParam("orgId","your_orgId");
request.setMethod("GET");
try {
JSONObject response = Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
.url("https://{apigw-address}/dataflow-batch-service/v2.0/flowInstances?action=get")
.getResponse(request, JSONObject.class);
System.out.println(response);
} catch (Exception e) {
e.printStackTrace();
}
}