最新历史版本 :参数赋值节点 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

[helpvideo]8624[/helpvideo]

1.1 版本说明

FineDataLink 版本功能变动
1.7

新增一种节点类型:「参数赋值」,可以将取到的数据输出为参数,被下游连线节点使用,不允许跨节点使用

4.1.6.1参数赋值批量操作「选择行/列」相关文案优化,详情参见本文 3.2 3.3 3.4 节
4.1.7.3数据源选择 API后,「高级配置」中支持指定响应数据字符编码方式,与数据同步-API一致


历史版本
FineDataLink 版本功能变动
2.0
  • 文本型参数也支持多值

  • 新增参数预览功能,详情参见本文操作步骤

  • 新增参数值分隔符功能,详情参见本文操作步骤

  • 允许定义值相同的参数,但是会给出提醒,详情参见本文操作步骤

3.7.1「参数赋值」下游分支所有的节点都可以使用输出的参数(可跨节点使用),但是不可跨分支被其他节点使用,详情请参见本文 功能说明
4.0.13支持自动将参数赋值内容生成「数据转换」节点,便于使用复杂的数据处理结果生成参数,详情参见本文 3.1 节
4.0.14
  • 「数据来源」支持「FTP/SFTP」数据源

  • 「数据来源」支持「服务器本地目录」数据源

4.0.19数据来源API配置支持关闭SSL证书验证,详情参见:API关闭证书验证
4.0.23数据来源API 配置中的 body 请求内容支持使用 Content-Type 为 form-data 和 x-www-form-urlencoded 请求格式,允许添加多行、每行均为自定义输入、支持引用参数,详情参见 功能说明中的Headers请求参数表格
4.1.0
  • 优化「参数赋值」设置界面

  • 将「分隔符」单选按钮组改为「闭包符」开关

  • 参数默认值可自动填入

  • 可批量生成、修改参数

4.1.1当数据源为 API 时,支持获取API响应的header、body、http状态码,便于后续将其设置为参数,详情参见本文 3.1.1 节
4.1.31)数据来源Tab下,「数据源」中选择DB表输入类型时,新增配置方式设置项,配置方式设置项中可选择SQL、选表(本版本新增功能)、存储过程(本版本新增功能)
  • 选表:支持直接选表同步数据

  • 存储过程:数据源是 MySQL、Oracle、SQLServer 时,支持调用数据库存储过程

2)支持分页取数,详情参见:API输入-分页取数

4.1.5.4数据来源 Tab 中,配置方式选择选表时,显示表备

1.2 应用场景

  • 用户希望上游节点运行的结果,能够被下游节点使用。

  • 希望能够基于某些节点的运行结果,实现一些条件判断的功能。

此时可以通过「参数赋值」节点用参数承载上游节点运行的结果,然后在下游节点中使用该结果。


1.3 功能简介

当数据开发的业务流程中,某个下游节点的任务需要获取多个、多级上游节点的输出参数时,可以使用参数节点,数据来源」中将需要赋值的数据取出,并为参数赋值,将获取到的数据输出为参数,下游节点可以使用参数值。

1702884932749372.png

2. 使用说明编辑

1)用户设置的参数只归属于当前任务

2)参数在 FDL 中的应用场景请参见:参数在FDL中的典型应用场景

3)参数使用流程请参见:如何配置并使用参数

4)参数赋值与参数输出的区别请参见:任务内参数

3. 功能介绍编辑

3.1 参数添加、使用说明

在定时任务中新建「参数赋值」节点,可添加参数供下游节点使用。如下图所示:

26.png

3.1.1 数据来源

通过「数据来源」将需要赋值的数据取出。

支持从多种数据源中取数,支持的数据源详情参见:数据开发支持的数据

1)「数据源」中选择DB表输入类型时,支持三种方式获取数据:写 SQL 语句、直接选表(可添加过滤条件)、调用存储过程。如下图所示:

数据来源 Tab 中,配置方式选择「选表」时,显示表描述。表描述具体说明请参见:数据同步-数据来源

20.png

2)有时候用户需要从 API 的请求头中获取token,将其设置为参数,便于后续调用API。

因此当参数赋值选择数据源为「API」时,支持获取API响应的响应头header、响应体body、状态码。如下图所示:

属性
类型说明
响应体处理

json

选择处理响应体,可以对响应体设置指定json路径或者将解析后的json数据展开为二维表

例如选择返回响应体,且解析为二维表,则得到以下解析结果:

当处理信息类型勾选了除「响应体」以外的其他类型,则无法勾选「将解析后的json数据展开为二维表」

解析响应头

key

勾选响应头时,则会解析响应头中哪些key的value

可以将当前获取响应头的key进行批量配置,也可以手动添加key

注:如果解析响应体之外,还勾选解析响应头时,则不支持解析 JSON 数据展开为二维表,且不支持「生成数据转换」。

若同时将响应头header、响应体body、状态码勾选,则生成一个二维表,列顺序按照状态码、响应头、响应体的顺序,如下图所示:

34.png

注:原本API请求不展开为二维表时,下游算子获取到的字段为 default 的二维表(1行1列),现在将「default」改为「responseBody」。

用户即可根据解析好的数据,在后一步输出参数中设置为参数。

3.1.2 输出参数

可指定取出数据表的行列数据,将其作为参数。如下图所示:

27.png

注:参数名和参数值中不允许包含${} 。

设置项
说明
参数名同一个参数赋值节点中不支持参数名相同
值来源

支持指定取出数据表的行列数据,将其作为参

注:「参数赋值」中,单个参数的输出值个数最多为 10000。如果超过此限制,赋值节点将运行失败。在 4.1.10.2 及之后的版本中,可以通过使用「循环容器循环次数无限制插件」来处理超过 10000 个输出值的情况。

取出的数据表如下图所示:

29.png

设置参数值为数据表的第一列所有行,如下图所示:

30.png

闭包符

4.1.0 之前版本:

数值型分隔:单个值示例:1;多个值示例:1,2,3

文本型分隔:单个值示例:'text';多个值示例:'text1','text2'

注:若输出的数据是多个值,且值不是数值时,需要将分隔符设置为文本型

4.1.0 及之后版本:

31.png

新生成参数值,闭包符默认关闭

闭包符关闭:相当于 4.1.0 之前版本选择「数值型分隔」

闭包符开启:相当于 4.1.0 之前版本选择「文本型分隔」

参数预览

设置参数值后,点击参数预览,即可查看参数值

32.png

注1:如果来源表为空,那么参数赋值预览后会报错。

调试值

调试值仅用于下游节点的数据预览,正式运行时不会被使用

4.1.0 之前版本,需手动填入参数默认值,为方便下游节点查看效果,强烈建议给参数设置默认值;4.1.0 及之后版本,点击参数预览,预览成功后,会取前 5 个参数值自动填入默认值

在当前任务的参数列表中,即可看到所有「参数赋值」设置的参数,如下图所示:

3.1.3 参数使用

1)支持跨节点传递参数。

「参数赋值」下游分支所有的节点都可以使用输出的参数,但是不可跨分支被其他节点使用。

「参数赋值」节点执行后输出的参数值,在下次执行之前都是固定的,即传递给下游节点的参数值均为固定的,不会受下游步骤影响。

1698050908130623.png

2)参数支持跨层级传递,将父任务的参数传递给子任务,详情参见:调用任务

3)若上游节点参数被同一流程连线中的所有下游节点应用,下游节点引用参数时写法如下:

  • 值是单个字符串或单个数值:=${a}    

  • 值是多个字符串或多个数值:in (${a})

注:跟自定义参数不同,参数赋值节点的参数引用时,不一定需要加单引号,如果在「参数赋值」中定义的分隔符是正确的,那么使用时直接用${参数名}即可。

1698050995123259.png

3.2 批量生成参数

点击「批量生成」按钮,可批量生成参数。

通过选择来源列,生成对应参数;参数名自动生成,命名逻辑:字段名_参数(若重复则加“_参数”,直到不重复)。

3.3 批量修改参数

选中要批量修改的参数,点击「修改来源行」按钮,可批量修改参数。如下图所示:

3.4 批量删除参数

选中要批量删除的参数,点击「删除」按钮,可批量删除参数。如下图所示:

4. 使用示例编辑

简介
文档
「参数赋值」节点的简单使用示例参数赋值示例
用户希望通过邮件/企业微信等渠道,向成员发布信息或罗列特定事务,使用「参数赋值+条件分支+消息通知」节点实现使用企业微信群进行消息通知
定期清理 30 天前的定时任务的运行记录数据,使用「参数赋值+SQL脚本」实现自动清理FineDataLink运行记录
若来源表有时间戳,可以使用参数赋值获取目标表时间戳最大值,再使用数据同步获取增量数据做增量更新数据增量更新

5. 注意事项编辑

若在输出参数步骤预览失败,报错「param unable to get the specified row and column data」,说明参数输出数据为空,可忽略,任务可正常执行。