参数传递
业务场景
当某些场景需要有一定的参数作为前置输入时,如某些API需要先获取动态token认证才能正常调用;分支判断需要基于一定的参数值进行判断应该运行哪个分支。此时用户使用流程相关节点,提供节点级的参数产出与传递能力,可实现对流程的控制,以满足上述场景。
前提条件
- 平台部署完成,批量数据服务正常
- 用户拥有批量数据模块权限
使用限制
- 产出参数:当前仅“HTTP访问”、“API导入”节点支持配置产出参数
- 请求参数:当前仅“HTTP访问”、“API导入”节点支持配置请求参数
- 参数传递不支持跨节点传递,即开启后仅传递给直接连线的下级,若需传递至下下级,需在下级另行开启
操作流程
第一步:定义产出参数
若要进行节点级的参数传递,需进行“产出参数”的定义,可选择“HTTP访问”、“API导入”节点。
- “HTTP访问”节点
选择数据开发 > 批量数据 > 数据加工,在页面左侧“操作”按钮下,先后完成“作业分组”、“加工作业”的新建,将“HTTP访问”节点拖入至画布作为起始节点,双击进入节点进行产出参数的配置。
本实践以提供token值给下游“API导入”节点为例,需在“HTTP访问”节点中选择对应的认证API(该API需已完成在数据源管理模块的注册),选择会产出token值的响应字段“开启”为产出参数,点击试运行,运行结果如下图所示。
第二步:使用产出参数
当前版本,本产品仅支持“HTTP访问”、“API导入”、“分支判断”,三类节点使用产出参数。
- ①“API导入”节点
选择数据开发 > 批量数据 > 数据加工,在步骤一的作业画布中,拖入“API导入”节点,并将“HTTP访问”节点作为上游节点连线至“API导入”节点,双击“API导入”节点进行“请求参数配置”,用于接收使用上游传递的参数。
本实践继续以获取token为例,需在“请求参数”中,选择来源类型为“上下文输入”,并根据当前接口的实际情况,选择对应“传参方式”,再完成下方的导入配置后,作业运行时即可先获取上游“HTTP访问”传递的产出参数token值自动进行相应的参数值覆盖完成认证,以成功完成API数据导入至库表,配置如下图所示。
在本实践中,可继续在“API导入”节点中,在“产出参数”区域选择某个响应字段配置为产出参数,如订单类型,将自动传递给下游,以供下游“分支判断”节点使用。
说明:由于API导入节点用于API的数据写入库表,故而产出值为多值,在设置某个属性为产出参数后,系统会取该调度内最后一个行的对应属性值进行向下传递。
- ②“分支判断”节点
选择数据开发 > 批量数据 > 数据加工,在当前案例作业画布中,拖入“分支判断”节点,并将“API导入”节点作为上游节点连线至“分支判断”节点,并设置分支判断的下游多个分支。双击“分支判断”节点进行“分支条件”配置,将接收到的上游传递参数值用于判断后续流程走哪个下游分支。
本实践中,上游“API导入”节点传递了“订单类型”参数,在“分支判断”节点的“本地输入”中可查看到该参数,并在分支条件中设置判断条件,如订单类型=对公,则走A下游分支;订单类型=对私,则走B下游分支,配置如下图所示。
在本实践中,下游其他节点可能继续需要使用到“订单类型”这个参数,因此可以在“分支判断”节点的右下角“节点上下文”中,将该参数的“向下游输出”开启,以实现传递。
第三步:向下游输出传递参数
选择数据开发 > 批量数据 > 数据加工,在当前案例作业画布中,作业还存在多个下游节点的后续流程,部分节点也需要使用“订单类型”参数,因此可在各下游节点的“节点上下文”功能中分别将该参数的“向下游输出”开启,直至传递至需要使用该参数的目标节点。
说明:
• 本产品当前所有节点中,以下节点具备“节点上下文”配置入口,包括:库表导入、API导入、脚本导入、数据质检、SQL加工、分支节点、HTTP访问、分支判断,其中库表导出,不支持传递,只能作为最后节点。
• 库表导入、数据质检、SQL加工、脚本导入,节点仅支持上下文输入输出参数的传递功能,暂不支持产出及使用参数。
• 参数传递仅支持相邻两个有连线的节点间传递,不支持跨节点传递,因此要使用参数的目标节点的所有上游节点都需手动开启该参数的“向下游输出”。