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

目录:

1. 概述编辑

[helpvideo]5455[/helpvideo]

1.1 版本说明

FineDataLink 版本功能变动
1.7

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

4.0.23

数据来源API 配置中的 body 请求内容支持使用 Content-Type 为 form-data 和 x-www-form-urlencoded 请求格式,

允许添加多行、每行均为自定义输入、支持引用参数,详情参见 功能说明中的Headers请求参数表格


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

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

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

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

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

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

4.0.19数据来源API配置支持关闭SSL证书验证,详情参见:API关闭证书验证


1.2 应用场景

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

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

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

例如想要将 产品ID=2 的对应的数据同步至目标表,可以使用参数赋值功能,将产品ID=2 的 产品ID 对应的数据查出,然后设置为参数,在下游的数据同步中使该参数,将满足条件的数据同步至数据库中。

1.3 功能说明

参数赋值节点通过数据来源将需要赋值的数据取出,并为参数赋值。

将获取到的数据输出为参数,下游节点可以利用公式使用参数值。

2. 使用限制编辑

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

3. 功能概述编辑

步骤说明
通过数据来源将需要赋值的数据取出

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


将取出数据设置为参数并进行赋值
  • 支持指定取出的数据表行列数据将其作为参数。

注:同一个参数赋值节点中不支持参数名相同

  • 取出的是某行或者某列数据,则可以根据取出的数据的格式设置参数值之间的分隔符。注:若输出的数据是多个值,且值不是数值时,需要将分隔符设置为文本型

  • 默认值是为了下游节点提前预览查看引用参数是否正确设置的,实际运行时不会用到这个默认值。

注1:如果来源表为空,那么参数赋值预览后会报错。
注2:「参数赋值」中单个参数输出的字段值个数限制最多不能超过10000个。如果参数的输出结果超过限制,则赋值节点运行会失败。

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

赋值后的参数在节点间传递

  • 支持跨节点传递 

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

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

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

上游节点参数被同一流程连线中的所有下游节点应用

参数赋值输出的参数,下游节点引用参数时写法如下:

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

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

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

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 的数据,如下图所示: