1 概述
DataLeap 支持您通过设置任务的输入输出参数,可实现参数在上游和下游任务之间进行传递,该参数的内容值,可来源于上游任务的输出结果、项目参数或是自定义参数值。
本文将为您介绍如何配置上游任务输出参数和下游任务输入参数。
2 使用说明
- 您的任务已添加上下游调度依赖关系。调度依赖配置操作详见任务调度依赖。
- 目前仅支持 Shell、Python 任务,将最后一行 stdout/err 的实例运行结果,作为输出变量参数,通过“outputs”参数传递给下游任务作为输入参数变量。
3 输入输出参数配置入口
- 登录 DataLeap租户控制台 。
- 在概览界面,显示加入的项目中,单击数据开发进入对应项目。
- 在任务开发界面,左侧导航栏中,双击打开某个离线任务,进入节点的编辑界面。
- 单击右侧导航栏的调度设置按钮,找到输入输出参数部分进行配置。
4 参数使用方式
任务设置输入参数后,可在任务内部进行使用,其使用方式与时间参数使用方式不同:
- 时间参数通过 ${} 方式使用;
- 其他输入参数通过 {{参数名}} 的方式进行使用。
5 输入参数配置
输入参数配置具体分为以下三类:
5.1 将上游任务的执行结果,当做输出参数
支持将 Shell、Python 任务,最后一行 stdout/err 的实例运行结果,作为输出变量参数,通过“outputs”进行传递。
- 上游任务 A 在调度设置 > 任务输出参数中,勾选“将运行结果当做输出”,通过使用“outputs”,将执行结果当作输出。
说明
- 会将最后一行 stdout/err 的内容存入输出参数中。
- remote shell 仅将 stdout 的内容存入输出参数中。
- 下游任务 B,在调度设置 > 依赖关系中,手动添加上游任务 A 为父节点依赖:
- 下游任务 B 在调度设置 > 任务输入参数中,单击手动添加按钮,进入输入参数添加窗口。
- 在窗口中设置以下信息:
- 参数名称:输入 B 任务中使用的参数名称;
- 参数类型:下拉选择任务类型;
- 来源任务:下拉选择已添加依赖的上游任务 A;
- 具体参数:下拉选择为上游输出名称:outputs;
- 解析替换值:调试解析时,系统不会从上游获取 outputs 的真实内容,用“解析替换值”进行替换。默认值为1,用户可按需进行替换。
- 参数添加完成后,您便可在代码编辑界面以 {{参数名}} 的形式进行使用;时间参数通过 ${} 方式使用。
5.2 将在项目中设置的参数当作输入
在输入参数中手动添加参数类型为项目,项目参数可供项目全局使用。
- 在项目控制台 > 参数信息中,新建项目参数,操作详见参数信息设置。
- 在任务输入参数界面中,单击手动添加按钮,进入输入参数添加窗口:
- 参数名称:输入任务中使用的参数名称;
- 参数类型:下拉选择项目类型;
- 来源:下拉选择已新建的项目参数名称。
项目参数使用案例详见参数信息-使用案例。
5.3 自定义的参数当作输入
输入参数也支持以自定义参数内容的方式,进行上下游传参。
在任务输入参数界面中,单击手动添加按钮,进入输入参数添加窗口:
- 参数名称:输入任务中使用的参数名称;
- 参数类型:下拉选择自定义类型;
- 取值:输入自定义的参数取值。
自定义参数使用案例详见3.4.4 任务输入参数。
6 输出参数
设置任务的输出参数,输出参数定义完成且任务上线后,即可在下游节点中使用,作为下游节点的输入参数的取值。输出参数的取值分为常量和变量两种类型。
- 常量取值:常量为固定字符串,需要在任务的输出参数中进行定义。
- 变量取值:包含上游任务输出结果参数和系统支持的全局变量。
其中系统支持的全局变量参数不需要在输出参数中定义,由系统提供,具体包含以下几种:
- {{taskId}}: 任务ID
- {{taskType}}: 任务类型
- {{taskName}}: 任务名称
- {{taskOwner}}: 任务责任人
- {{instanceId}}: 实例ID
- {{taskTime}}: 实例对应的业务时间
- {{scheduleRunTime}}: 实例设定的运行时间
- {{startTime}}: 实例实际开始运行时间
- {{endTime}}: 实例实际结束运行时间
- {{instanceStatus}}: 实例状态
- {{triggerType}}: 触发类型,包括系统调度、重跑
- {{trackingUrl}}: 实例执行Tracking URL
7 后续操作
输入输出参数配置完成后,您便可开始任务的调试或提交发布操作。详见5 提交上线。