You need to enable JavaScript to run this app.
导航
输入输出参数设置
最近更新时间:2024.04.24 16:20:48首次发布时间:2024.04.24 16:20:48

1 概述

DataLeap 支持您通过设置任务的输入输出参数,可实现参数在上游和下游任务之间进行传递,该参数的内容值,可来源于上游任务的输出结果、项目参数或是自定义参数值。
本文将为您介绍如何配置上游任务输出参数和下游任务输入参数。

2 使用说明

  1. 您的任务已添加上下游调度依赖关系。调度依赖配置操作详见任务调度依赖
  2. 目前仅支持 Shell、Python 任务,将最后一行 stdout/err 的实例运行结果,作为输出变量参数,通过“outputs”参数传递给下游任务作为输入参数变量。

3 输入输出参数配置入口

  1. 登录 DataLeap租户控制台
  2. 概览界面,显示加入的项目中,单击数据开发进入对应项目。
  3. 任务开发界面,左侧导航栏中,双击打开某个离线任务,进入节点的编辑界面。
  4. 单击右侧导航栏的调度设置按钮,找到输入输出参数部分进行配置。

图片

4 参数使用方式

任务设置输入参数后,可在任务内部进行使用,其使用方式与时间参数使用方式不同:

  • 时间参数通过 ${} 方式使用;
  • 其他输入参数通过 {{参数名}} 的方式进行使用。

5 输入参数配置

输入参数配置具体分为以下三类:

5.1 将上游任务的执行结果,当做输出参数

支持将 Shell、Python 任务,最后一行 stdout/err 的实例运行结果,作为输出变量参数,通过“outputs”进行传递。

  1. 上游任务 A 在调度设置 > 任务输出参数中,勾选“将运行结果当做输出”,通过使用“outputs”,将执行结果当作输出。

    说明

    1. 会将最后一行 stdout/err 的内容存入输出参数中。
    2. remote shell 仅将 stdout 的内容存入输出参数中。
    图片
  2. 下游任务 B,在调度设置 > 依赖关系中,手动添加上游任务 A 为父节点依赖:
    图片
  3. 下游任务 B 在调度设置 > 任务输入参数中,单击手动添加按钮,进入输入参数添加窗口。
  4. 在窗口中设置以下信息:
    • 参数名称:输入 B 任务中使用的参数名称;
    • 参数类型:下拉选择任务类型;
    • 来源任务:下拉选择已添加依赖的上游任务 A;
    • 具体参数:下拉选择为上游输出名称:outputs;
    • 解析替换值:调试解析时,系统不会从上游获取 outputs 的真实内容,用“解析替换值”进行替换。默认值为1,用户可按需进行替换。
      图片
  5. 参数添加完成后,您便可在代码编辑界面以 {{参数名}} 的形式进行使用;时间参数通过 ${} 方式使用。

5.2 将在项目中设置的参数当作输入

在输入参数中手动添加参数类型为项目,项目参数可供项目全局使用。

  1. 项目控制台 > 参数信息中,新建项目参数,操作详见参数信息设置
  2. 任务输入参数界面中,单击手动添加按钮,进入输入参数添加窗口:
    1. 参数名称:输入任务中使用的参数名称;
    2. 参数类型:下拉选择项目类型;
    3. 来源:下拉选择已新建的项目参数名称。

项目参数使用案例详见参数信息-使用案例

5.3 自定义的参数当作输入

输入参数也支持以自定义参数内容的方式,进行上下游传参。
任务输入参数界面中,单击手动添加按钮,进入输入参数添加窗口:

  • 参数名称:输入任务中使用的参数名称;
  • 参数类型:下拉选择自定义类型;
  • 取值:输入自定义的参数取值。

自定义参数使用案例详见3.4.4 任务输入参数

6 输出参数

设置任务的输出参数,输出参数定义完成且任务上线后,即可在下游节点中使用,作为下游节点的输入参数的取值。输出参数的取值分为常量和变量两种类型。

  • 常量取值:常量为固定字符串,需要在任务的输出参数中进行定义。
  • 变量取值:包含上游任务输出结果参数和系统支持的全局变量。
    其中系统支持的全局变量参数不需要在输出参数中定义,由系统提供,具体包含以下几种:
    • {{taskId}}: 任务ID
    • {{taskType}}: 任务类型
    • {{taskName}}: 任务名称
    • {{taskOwner}}: 任务责任人
    • {{instanceId}}: 实例ID
    • {{taskTime}}: 实例对应的业务时间
    • {{scheduleRunTime}}: 实例设定的运行时间
    • {{startTime}}: 实例实际开始运行时间
    • {{endTime}}: 实例实际结束运行时间
    • {{instanceStatus}}: 实例状态
    • {{triggerType}}: 触发类型,包括系统调度、重跑
    • {{trackingUrl}}: 实例执行Tracking URL

7 后续操作

输入输出参数配置完成后,您便可开始任务的调试或提交发布操作。详见5 提交上线