天天看點

觸發手動業務流程代碼示例

概述

手動任務是指建立任務時,排程類型選擇手動任務後,送出到排程系統的任務。手動任務送出到排程系統後,不會自動運作,隻有手動觸發才會運作。本文将分别介紹使用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());           

更多參考

觸發手動業務流程 CreateManualDag