反馈已提交

网络繁忙

如何配置并使用参数

  • 文档创建者:Wendy123456
  • 历史版本:9
  • 最近更新:Wendy123456 于 2024-06-13
  • 1.  概述

    本文讲述如何在定时任务中配置并使用参数。

    1718269347407461.png

    2. 步骤一:定义参数(必做)

    FDL 中参数分为三类:任务内参数、全局参数、内置参数。如下图所示:

    注:「参数列表」界面展示的参数为该任务可使用的参数。

    23.png

    2.1 任务内参数

    2.1.1 任务参数(自定义参数)

    该参数详细介绍请参见:自定义参数(静态参数);设置的参数可以被当前任务内的所有节点引用。适用于参数值个数较少、参数值已明确不需要计算的场景。

    参数生成位置:

    1716790188368644.png

    参数生成说明:

    1)自定义时间参数:

    自定义时间参数需要基于系统内置参数 ${cyctime},通过对 ${cyctime} 加减实现时间的自定义,自定义的格式为:${时间格式+N} 或${时间格式-N}

    「时间格式」可以通过 yyyy、yy、mm、dd、hh、mi、ss 自由组合成 yyyy、mm、dd、yyyymm、mmdd、yyyymmdd、yyyy-mm-dd、yyyy-mm-dd hh:mi:ss 等,其中:

    注:参数格式不支持:mi:ss、mi、ss

    2)自定义常量参数

    常量参数支持设置的类型有:「文本」、「数值」、「布尔」。示例如下:

    1716790382172193.png

    2.1.2 赋值参数

    详情请参见:参数赋值节点参数输出

    参数作用范围:该参数赋值节点下游分支的所有节点;适用于参数值较多,且参数值需要经过复杂计算才能得出的场景。

    在 FDL 中对数据经过复杂处理后,支持使用 参数赋值节点参数输出算子 将处理后的结果输出为参数。如下图所示:

    26.png

    参数赋值节点与参数输出算子区别:

    区分项
    参数赋值参数输出
    位置
    与「数据转换」节点平级数据转换节点内使用
    使用方法
    可生成参数的值,并输出参数,适用于参数值获取过程较为简单的场景

    40.png

    只能将其他算子处理的结果,输出为参数,自己无法生成参数的值

    若参数值获取过程较为复杂,可使用参数输出算子

    41.png

    2.2 全局参数

    参数作用范围:可被当前工程所有定时任务使用;适用于参数值不需要经过复杂计算的场景。

    1)全局参数-静态参数

    参数类型支持:日期、文本、数值、布尔;设置内容与本文 2.1.1 节任务参数(自定义参数)相同。

    27.png

    2)全局参数-赋值参数

    可设置全局动态参数。如下图所示:

    28.png

    2.3 内置参数

    FDL内置参数,无需定义即可使用。如下图所示:

    1716792375498341.png

    3. 步骤二:设置参数默认值(建议做)

    本文 2.1.2 节 参数赋值节点参数输出 的参数、2.2 节中的全局参数-赋值参数建议设置参数默认值,且参数默认值为有效的,即为参数预览出的结果。如下图所示:

    注:参数默认值只是为了便于下游节点预览数据,不参与实际运行。

    30.png

    便于后续节点使用参数,查看参数引用效果,确认任务设置是否正确。如下图所示:

    31.png

    若参数的值为动态变化的,建议更新参数默认值后,再预览使用参数后的结果,保证预览结果为最新数据。例如参数值为access_token(动态变化且过段时间失效),调试任务时需要更新参数默认值。否则,下游节点预览失败。如下图所示:

    32.png

    4. 使用参数(必做)

    4.1 节点使用参数

    参数定义好后,可在节点、算子中使用参数查询数据。

    对于定义好的参数,引用方式有一些差异:

    1)参数赋值节点、参数输出算子、全局参数-动态参数

    此类参数如果定义的闭包符是正确的,那么使用时直接用${参数名}即可。闭包符定义相关详情参见:参数赋值功能说明

    示例说明:

    此类参数在设置时,可设置闭包符:

    33.png

    若闭包符开关开启,会自动给参数输出的值加引号:

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

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

    若输出的数据是多个值,且值不是数值时,需要开启闭包符。下游节点/算子引用该参数时,无需再加引号,直接用${参数名}即可。

    若输出的数据是多个值,且值不是数值时,没有开启闭包符,下游节点/算子引用该参数时,需要加上引号,为'${参数名}'

    2)任务参数(自定义参数)、内置参数、全局参数-静态参数

    • 若参数为整型、双精度型、布尔型,直接用${参数名}的方式引用参数;

    • 若参数值为字符类型、日期类型,需要加上单引号引用参数:'${参数名}'

    3)特别情况说明

    4.1.0 之前版本中,「循环容器」节点中引用参数时,会自动去掉参数的单引号,所以「循环容器」节点在使用文本型(分隔符选择文本型分隔)参数需要手动加上单引号。

    4.1.0 及之后版本,「循环容器」节点中引用参数时,不再自动去掉参数的单引号,所以「循环容器」节点在使用文本型(开启闭包符)参数时无需手动加上单引号。

    「参数赋值节点+循环容器」场景中,若「参数赋值」节点输出参数的分隔符选择「文本型分隔」,在循环容器内使用参数时加了单引号,升级到 4.1.0 及之后版本时,需要手动去掉单引号。

    4.2 参数引用优先级

    当「参数赋值」设置的参数与「自定义参数」和「内置参数」存在同名时,引用顺序将采用如下优先级:

    • 整体优先级:「参数赋值」设置的参数>调用任务中父任务参数>「自定义参数」>「全局参数」>「内置参数」

    • 局部优先级:由于一个任务中可新建多个「参数赋值」,可能存在两个及以上的同名参数可被下游节点引用,此时距离节点越近的「参数赋值」参数优先级越高。

    注:循环容器内参数规则详情参见:容器内参数规则

    4.3 跨层级传递参数

    可以选择性地将任务参数和动态参数传递给子任务使用。

    详情请参见:调用任务

    4.4 查看参数

    全局参数:

    设置全局参数的地方可查看所有新建的全局参数。如下图所示:

    35.png

    任务内参数:

    自定义参数(静态参数)参数赋值节点参数输出设置的参数,打开定时任务,点击「参数列表」,可查看该任务设置的这些参数:

    36.png

    5. 知识扩展

    1)用户有时需要时间类型的参数,自定义时间参数 不能满足实际需要。例如,用户需要获取当月第一天、当月最后一天,并输出为参数。此类复杂的时间参数获取方法可参见:

    注:用户可使用其他算子、节点,处理数据,得到想要的参数值,再将参数输出。

    • 「参数赋值」节点实现:「参数赋值」节点中使用SQL语句获取参数值,再将参数输出:

    39.png

    2)参数支持加密后进行取数,详情请参见:API取数概述



    附件列表


    主题: 数据开发
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持