Update And Trigger Flow¶
Trigger workflow scheduling with updated parameters (generating a workflow instance with new parameters).
Prerequisites¶
The user must be the owner of the workflow.
Both the user and the workflow are not locked.
Request Format¶
POST https://{apigw-address}/dataflow-batch-service/v2.0/flows?action=updateAndTrigger&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 |
---|---|---|---|
flowId |
true |
Integer |
Workflow ID |
triggerTime |
true |
Long |
Specify the planned scheduling time of the workflow, by the following rules:
|
parameters |
true |
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). |
Response Parameters¶
Name |
Data Type |
Description |
---|---|---|
data |
FlowInstanceId Struct |
Workflow instance information. See FlowInstanceId Struct |
Error Code¶
Code |
Message |
Description |
---|---|---|
62104 |
This workflow has no task. You cannot trigger it. |
The workflow does not have any task. |
62109 |
Server internal exception |
Server internal exception |
Sample¶
Request Sample¶
url: https://{apigw-address}/dataflow-batch-service/v2.0/ flows?action=updateAndTrigger&userId=***&orgId=***
method: POST
{
"flowId":3377,
"triggerTime":1574385824000,
"parameters":[{"key":"REPLACE","value":"ddee"}]
}
Return Sample¶
{
"status": 0,
"msg": " Success",
"data": {
"flowInstanceId": "2791-19700101000000"
}
}
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 triggerImmediatelyTest(){
//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> hashMap = new HashMap<String, Object>(2);
hashMap.put("flowId",3377);
hashMap.put("triggerTime",1574385824000);
hashMap.put("parameters","[{"key":"REPLACE","value":"ddee"}]");
request.setBodyParam(hashMap );
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=updateAndTrigger")
.getResponse(request, JSONObject.class);
System.out.println(response);
} catch (Exception e) {
e.printStackTrace();
}
}