本文为您介绍如何生成新的手动业务流程实例。

参数信息

参数 类型 描述
projectName STRING 必选,项目名称。
FlowName STRING 必选,手动业务流程名称。
bizdate STRING 必选,格式为yyyy-MM-dd hh:mm:ss
DagPara STRING 可选,格式为{"key1":"value1","key2":"value2"}
NodePara STRING 可选,格式为"节点ID": "key1=value1 key2=value2"
说明 如果您希望DagPara参数在节点中生效,需要在NodePara定义对应的同名参数。DagPara的同名参数会覆盖NodePara中的参数。

代码说明

标准调用代码格式如下所示。
@Test
public void createManualDagTest() throws ClientException { 
  CreateManualDagRequest request = new CreateManualDagRequest();
  request.setProjectName("UPPER_CASE_PROJECT2");
  request.setFlowName("test_flow");
  request.setBizdate("2018-07-25 00:00:00");
  request.setDagPara("dagppp,dagvvv");
   JsonObject dagPara = new JsonObject();
   dagPara.addProperty("key1","5");
   dagPara.addProperty("key2","6");
   request.setDagPara(dagPara.toString());
  resquest.setRegionId("cn-shanghai")// 需要在此处更新项目所在地域。
  JsonObject nodePara = new JsonObject();
  nodePara.addProperty("220168343", "aaaa=bbbb"); //配置调用和节点参数。
  System.out.println(nodePara.toString());
  request.setNodePara(nodePara.toString());

  DefaultProfile.addEndpoint(
    "cn-shanghai",  //对应DataWorks工作空间所在的Region ID。
    "dataworks-public",
    "dataworks.<regionId>.aliyuncs.com"// 调用时根据项目情况替换RegionId);
  DefaultProfile profile = DefaultProfile.getProfile(
    <regionId>,<accessKeyId>,<secret>); // 填写实际的RegionID、AccessKeyID和AccessKeySecret。
  IAcsClient client = new DefaultAcsClient(profile);
  request.setProtocol(ProtocolType.HTTP);
  CreateManualDagResponse response = client.getAcsResponse(request); //调用客户端。
  System.out.println(response.getRequestId());
  System.out.println(response.getReturnCode());
  System.out.println(response.getReturnErrorSolution());
  System.out.println(response.getReturnMessage());
  System.out.println(response.getReturnValue()); //输出响应。
}

示例

  1. 创建手动业务流程。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发
    4. 在左侧导航栏,单击手动业务流程
      手动业务流程
    5. 鼠标悬停至新建图标,单击业务流程
    6. 新建业务流程对话框中,输入业务名称(test_flow)和描述
      注意 业务名称必须是大小写字母、中文、数字、下划线(_)以及小数点(.),且不能超过128个字符。
    7. 单击新建
  2. 创建节点并配置依赖关系。
    在手动业务流程中创建一个虚拟节点(test)和ODPS SQL节点(sql),并配置依赖关系为sql依赖于test
    1. 双击手动业务流程名称进入开发面板,鼠标单击虚拟节点并拖拽至右侧的开发面板。
    2. 新建节点对话框中,输入节点名称test,单击提交
      注意 节点名称必须是大小写字母、中文、数字、下划线(_)以及小数点(.),且不能超过128个字符。
    3. 以同样的操作新建ODPS_SQL节点,命名为sql
    4. ODPS_SQL节点的编辑页面,输入如下命令。
      SELECT "${ssss}";
    5. 单击工具栏中的保存图标。
    6. 返回手动业务流程的编辑页面,通过拖拽连线,设置test节点为sql节点的上游节点。
      依赖
  3. 配置并提交手动业务流程。
    1. 单击手动业务流程编辑页面右侧的流程参数
    2. 流程参数对话框中,分别设置参数名称参数值或表达式
      如果您需要设置多个参数,请单击新增参数流程参数
    3. 单击保存
    4. 单击工具栏中的提交图标。
  4. 以使用Eclipse为例,编辑运行内容。
    示例
    具体代码如下。
    package MavenDemo.MavenDemo;
    
    import org.junit.Test;
    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;
    import com.google.gson.JsonObject;
    
    public class sdk {
    
      @Test
      public void createManualDagTest() throws Exception { 
        CreateManualDagRequest request = new CreateManualDagRequest();
        request.setProjectName("hello_sh_sh");//项目名称。
        request.setFlowName("test_flow");//手动业务流程名称。
        request.setBizdate("2019-03-20 00:00:00");//运行的业务时间,注意日期应为当前日期的前一天。
        JsonObject dagPara = new JsonObject();
        dagPara.addProperty("ssss","testsetstsetsetest");//业务流程参数。
        request.setDagPara(dagPara.toString());
        request.setRegionId("cn-shanghai");// 需要在此处更新项目所在地域。
        JsonObject nodePara = new JsonObject();
        nodePara.addProperty("700000246408", "ssss=oooo"); //配置节点参数,如果业务流程配置节点参数不生效。
        System.out.println(nodePara.toString());
        request.setNodePara(nodePara.toString());
        DefaultProfile.addEndpoint(
          "cn-shanghai",  //对应DataWorks工作空间所在的Region ID。
          "cn-shanghai",  //对应DataWorks工作空间所在的Region ID。
          "dataworks-public",//固定值。
          "dataworks.aliyuncs.com");//访问DataWorks地址。
        DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai","LTAI**************","OU9g38cCpT***********"); // 填写实际的RegionID、AccessKeyID和AccessKeySecret。
        IAcsClient client = new DefaultAcsClient(profile);
        request.setProtocol(ProtocolType.HTTP);
        CreateManualDagResponse response = client.getAcsResponse(request); //调用客户端。
        System.out.println(response.getRequestId());//
        System.out.println(response.getReturnCode());//
        System.out.println(response.getReturnErrorSolution());//
        System.out.println(response.getReturnMessage());//
        System.out.println(response.getReturnValue()); //输出响应。
      }
    
      public static void main(String[] args) {
    
      }
    }
  5. 运行任务。
    该操作相当于您在运维中心触发手动任务的运行。运行