用于查询已触发的手动业务流程示例状态和名称等信息,包括运行中和运行完成的实例。本SDK仅适用于DataWorks V2.0。

参数信息

参数名 类型 说明
projectName STRING 必选,项目名。
dagId LONG 必选,手动业务流程实例ID。

代码说明

查询结果示例:

package MavenDemo.MavenDemo;

import org.junit.Test;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dataworks_public.model.v20180601.SearchManualDagNodeInstanceRequest;
import com.aliyuncs.dataworks_public.model.v20180601.SearchManualDagNodeInstanceResponse;
import com.aliyuncs.dataworks_public.model.v20180601.SearchManualDagNodeInstanceResponse.NodeInsInfo;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.http.ProtocolType;
import com.aliyuncs.profile.DefaultProfile;
import com.sun.xml.bind.v2.schemagen.xmlschema.List;

public class check_sdk {
  public static void main(String[] args) {
  }
  @Test
  public void searchManualDagNodeInstanceTest() throws ClientException {
    DefaultProfile.addEndpoint(
      "cn-shanghai",///对应DataWorks工作空间所处的region ID。
      "cn-shanghai",///对应DataWorks工作空间所处的region ID。
      "dataworks-public",//固定值
      "dataworks.cn-shanghai.aliyuncs.com");//访问dataworks地址
    DefaultProfile profile = DefaultProfile.getProfile(
     "yourRegionId","yourAccessKeyId","yourAccessKeySecret"); // 填写实际的regionId、accessKeyid、secret。
    IAcsClient client = new DefaultAcsClient(profile);
    Long dagId = 700018951631L;     //dagid查询的实例ID。
    SearchManualDagNodeInstanceRequest searchNodeInstanceListRequest //查询内部状态的请求。
      = new SearchManualDagNodeInstanceRequest();
    searchNodeInstanceListRequest.setDagId(dagId); //运行日志中的skynet_jobid,可以在 CreateManualDagResponse.getReturnValue() 得到。
    searchNodeInstanceListRequest.setProjectName("hello_sh_sh"); //项目名。
    searchNodeInstanceListRequest.setProtocol(ProtocolType.HTTP);
    SearchManualDagNodeInstanceResponse searchResponse = client
      .getAcsResponse(searchNodeInstanceListRequest);     //查询实例。
    java.util.List<NodeInsInfo> nodeInsfos =searchResponse.getData();
    System.out.println(searchResponse.getErrMsg()); //错误码。0代码正常;非0数值代表报错。
    for (SearchManualDagNodeInstanceResponse.NodeInsInfo nodeInsInfo : nodeInsfos) {
      System.out.println(nodeInsInfo.getNodeName()); //输出节点名称。
      System.out.println(nodeInsInfo.getStatus());  //输出状态信息。
    }
  }
}
NodeInsInfo中的参数如下图所示。

参数 类型 说明
instanceId LONG 实例ID
dagId LONG dag的ID
dagType INTEGER dag的Type
status INTEGER 状态
bizdate STRING 系统时间
paraValue STRING 运行参数
finishTime STRING 完成时间
beginWaitTimeTime STRING 等待时间
beginWaitResTime STRING 等待资源时间
beginRunningTime STRING 等待运行时间
createTime STRING 创建时间
modifyTime STRING 修改时间
nodeName STRING 节点名称

使用示例

运行前文中的代码,目的是查询节点任务运行的状态。通常有七种状态,在Eclipse里运行时,会显示您的节点名称和运行状态。

状态码说明:
  • NOT_RUN(1,"未运行")
  • WAIT_TIME(2,“等待时间”)
  • WAIT_RESOURCE(3,“等待资源”)
  • RUNNING(4,“运行中”)
  • FAILURE(5,“运行失败”)
  • SUCCESS(6,“运行成功”)
  • CHECKING(7,“校检中”)

结果验证

您可以进入运维中心 > 手动任务页面,找到您运行的任务,单击查看实例进行查看。详情请参见运维中心模块的文档。

您可以看到运行的实例状态,本示例中的实例已成功运行。