1. 概述编辑
1.1 版本说明
FineDataLink 版本 | 功能变动 |
---|---|
1.7 | 新增一种节点类型:「参数赋值」,可以将取到的数据输出为参数,被下游连线节点使用,不允许跨节点使用 |
4.0.23 | 数据来源API 配置中的 body 请求内容支持使用 Content-Type 为 form-data 和 x-www-form-urlencoded 请求格式, 允许添加多行、每行均为自定义输入、支持引用参数,详情参见 功能说明中的Headers请求参数表格 |
历史版本 | ||||||||||||
|
1.2 应用场景
用户希望上游节点运行的结果,能够被下游节点使用。
希望能够基于某些节点的运行结果,实现一些条件判断的功能。
此时可以通过「参数赋值」节点用参数承载上游节点运行的结果,然后在下游节点中使用该结果。
例如想要将 产品ID=2 的对应的数据同步至目标表,可以使用参数赋值功能,将产品ID=2 的 产品ID 对应的数据查出,然后设置为参数,在下游的数据同步中使该参数,将满足条件的数据同步至数据库中。
1.3 功能说明
参数赋值节点通过数据来源将需要赋值的数据取出,并为参数赋值。
将获取到的数据输出为参数,下游节点可以利用公式使用参数值。
2. 使用限制编辑
用户设置的参数只归属于当前任务;
3. 功能概述编辑
步骤 | 说明 |
---|---|
通过数据来源将需要赋值的数据取出 | 支持从多种数据源中取数,支持的数据源详情参见:数据开发支持的数据源 |
将取出数据设置为参数并进行赋值 |
注:同一个参数赋值节点中不支持参数名相同
注1:如果来源表为空,那么参数赋值预览后会报错。 注3:参数名和参数值中不允许包含${} 。 |
赋值后的参数在节点间传递 |
「参数赋值」下游分支所有的节点都可以使用输出的参数,但是不可跨分支被其他节点使用。 「参数赋值」节点执行后输出的参数值,在下次执行之前都是固定的,即传递给下游节点的参数值均为固定的,不会受下游步骤影响。
|
上游节点参数被同一流程连线中的所有下游节点应用 | 参数赋值输出的参数,下游节点引用参数时写法如下:
注:跟自定义参数不同,参数赋值节点的参数引用时,不一定需要加单引号,如果在「参数赋值」中定义的分隔符是正确的,那么使用时直接用${参数名}即可。 |
4. 操作步骤编辑
示例数据:产品.xls
本文提供如下示例。
FRDemo 数据库中有一张数据表名为「产品」,想要将「类别ID」=2 的「产品ID」对应的「产品」数据同步至 FDLDemo 数据库中目标表。
可以使用参数赋值功能,将类别ID=2 的 产品ID 对应的数据查出,然后设置为参数,在下游的数据同步中使该参数,将满足条件的数据同步至数据库中。
4.1 参数赋值
1)创建一个定时任务,将一个参数赋值节点拖到设计界面,点击该节点进行设置,设置其数据来源,将 类别ID=2 的 产品ID 对应的数据查出,如下图所示:
SQL 语句:select 产品ID from 产品 where 类别ID=2
2)点击数据预览查看取数效果,已经取出满足条件的「产品ID」如下图所示:
3)将取出的产品ID输出为参数。
点击「输出参数」,设置参数名为 id_para ,因为取出的「产品ID」字段位于取出数据的第一列,因此选择指定列并将其设置为 1,并且由于取出的「产品ID」有多个数据,由于数据是数值所以用数值型分隔符,如下图所示:
若输出的数据是多个值,且值不是数值时,需要将分隔符设置为文本型,分隔符设置如下所示:
分隔符选项 | 示例 |
---|---|
数值型分隔 | 单个值示例:1 多个值示例:1,2,3 |
文本型分隔 | 单个值示例:'text1' 多个值示例:'text1','text2' |
对「参数赋值」中单个参数输出的字段值个数进行限制,限制最多不能超过 10000 个。
如果想要在任务未运行时也就是任务开发阶段,下游节点用到参数的地方可以提前查看效果,可以给参数赋值节点设置默认值,这里默认值设置为 6,如下图所示:
注:默认值只是为了下游节点提前预览设置的,实际运行时不会用到这个默认值。
设置好后可以用右侧的参数预览查看参数的效果,如下图所示:
注:参数赋值只能生成一条数据,若需要分开输出多条数据,可以使用循环容器。
此时若发现取出的数据需要进行一些复杂的操作,例如行列转换、数据关联、JSON解析等数据处理和转换才能成为参数,则可以使用「生成数据转换」功能,将根据「参数赋值」节点的数据来源和输出参数,新增一个「数据转换」节点,你可以使用数据转换替代参数赋值进行复杂的数据处理工作,将处理好的数据使用「参数输出」设置参数,如下图所示:
注1:当「循环容器」内的「数据同步」「参数赋值」快速转「数据转换」时,生成的「数据转换」限制在循环容器内。
注2:若「数据同步」、「参数赋值」前后有节点连线,转「数据转换」时,生成的「数据转换」不影响原先节点连线关系。
4.2 使用参数
设置好参数后,即可在下游的数据同步中使该参数,将满足条件的数据同步至数据库中。
1)将一个数据同步节点拖到设计界面,并用线跟上游参数赋值节点连接起来,如下图所示:
2)点击数据同步节点进行编辑,从 FRDemo 数据库中,使用 SQL 语句取出「产品」数据表中满足「参数赋值」中参数条件的所有数据,也就是取出满足类别ID=2 的 产品ID 对应的所有数据,如下图所示:
注:跟自定义参数不同,参数赋值节点的参数引用时,不一定需要加单引号,如果在「参数赋值」中定义的分隔符是正确的,那么使用时直接用${参数名}即可。
3)点击「数据预览」,由于「参数赋值」节点中写了一个默认值 6,因此可以预览查看到产品ID为6的数据,如下图所示:
4)设置数据去向,将满足条件的数据同步至 FDLDemo 数据库里的「fdldemo_CSFZ」表中,如下图所示:
4.3 运行任务
保存并运行节点,如下图所示:
可以看到 FDLDemo 数据库里的「fdldemo_CSFZ」表同步了满足 类别ID=2 的数据,如下图所示: