概述
手動任務是指建立任務時,排程類型選擇手動任務後,送出到排程系統的任務。手動任務送出到排程系統後,不會自動運作,隻有手動觸發才會運作。本文将分别介紹使用Java SDK或PHP Rest API的方式觸發手動任務執行。
操作流程
1、建立手動業務流程并送出

2、運維中心檢視手動任務
3、代碼觸發手動業務流程
- Python
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
client = AcsClient('******', '******', 'default')
request = CommonRequest()
request.set_accept_format('json')
request.set_domain('dataworks.aliyuncs.com')
request.set_method('POST')
request.set_version('2018-06-01')
request.set_action_name('CreateManualDag')
request.add_query_param("ProjectName", "******") # 項目名稱
request.add_query_param("FlowName", "******") # 業務流程名稱
request.add_query_param("Bizdate", "2019-01-13 20:45:09")
request.add_query_param('RegionId', 'cn-beijing') # 根據項目所在的位置設定區域
response = client.do_action(request)
print(str(response, encoding = 'utf-8'))
- Java
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dataworks_public.model.v20180601.CreateManualDagRequest;
import com.aliyuncs.dataworks_public.model.v20180601.CreateManualDagResponse;
import com.aliyuncs.http.ProtocolType;
import com.aliyuncs.profile.DefaultProfile;
public class HandOnAction {
public static void main(String[] args) throws Exception {
String regionId = "cn-beijing";
String accessKeyId = "******";
String secret = "******";
CreateManualDagRequest request = new CreateManualDagRequest();
request.setProjectName("******");
request.setFlowName("******");
request.setVersion("2018-06-01");
request.setBizdate("2018-07-28 00:00:00");//時間設定早于目前時刻即可
request.setRegionId("cn-beijing");// 需要将項目所在region在此處更新
// JsonObject nodePara = new JsonObject();
// nodePara.addProperty("220168343", "aaaa=bbbb"); //配置調用和節點參數
// System.out.println(nodePara.toString());
// request.setNodePara(nodePara.toString());
//endpoint也指定為regionId參數即可
DefaultProfile.addEndpoint(
regionId,
regionId,
"dataworks-public",
"dataworks.aliyuncs.com");
DefaultProfile profile = DefaultProfile.getProfile(
regionId, accessKeyId, secret); // 填寫實際的regionId,accessKeyid, secret
IAcsClient client = new DefaultAcsClient(profile);
request.setProtocol(ProtocolType.HTTP);
CreateManualDagResponse response = client.getAcsResponse(request); //調用用戶端
System.out.println(response.getRequestId());
System.out.println("Return Code:" + response.getReturnCode());
System.out.println(response.getReturnErrorSolution());
System.out.println(response.getReturnMessage());
System.out.println(response.getReturnValue()); //輸出響應
}
}
4、測試效果
5、參數指定參考
//設定節點參數
JsonObject nodePara = new JsonObject();
nodePara.addProperty("210000185352", "key1=3 key2=4");
request.setNodePara(nodePara.toString());
//設定流程參數
JsonObject dagPara = new JsonObject();
dagPara.addProperty("key1","5");
dagPara.addProperty("key2","6");
request.setDagPara(dagPara.toString());