更新时间:2024-08-05 GMT+08:00

简易变量集参考

简易变量集提供了一系列自定义的变量,自定义参数会根据任务调度的业务日期、计划时间及参数的取值格式自动替换为具体的值,实现在任务调度时间内参数的动态替换。

当前系统支持业务日期、计划时间、业务id三类参数的自定义。

  • 业务日期是指在调度时间内,任务预期调度运行时间的前一天(即昨天),精确到天。业务日期可通过${yyyymmdd}获取。通常,业务日期为计划时间所在日期-1。
  • 计划时间是指在调度时间内,任务预期调度运行的时间点(即当天),精确到秒。计划时间可通过$[yyyymmddhh24miss]获取。
  • 业务ID参数包括作业ID和作业生成的实例ID两种,通过$job_id和$instance_id获取。

    使用简易变量集时,需要打开简易变量集的开关,功能才能生效。开关打开的方法请参见配置默认项 > 是否使用简易变量集

业务日期参数

业务日期是指在调度时间内,任务预期调度运行时间的前一天(即昨天)。例如,调度日期为2023年1月1日,那么业务日期就是2022年12月31日。该参数是通过yyyy、yy、mm和dd自定义组合而生成的时间参数,其格式可自定义。例如,${yyyy}、${yyyymm}、${yyyymmdd}和${yyyy-mm-dd}等。

  • yyyy:表示4位的年份,取值为业务日期的年份。
  • yy:表示2位的年份,取值为业务日期的年份后两位。
  • mm:表示月份,取值为业务日期的月份。
  • dd:表示天,取值为业务日期的天。

取N年前、N月前、N天前的时间数据请参考表1,参数只能精确到年月日,不支持小时、分钟、秒的写法。

表1 业务日期参数获取说明

业务日期场景

获取方法

前/后N年

${yyyy±N}

前/后N月

${yyyymm±N}

前/后N周

${yyyymmdd±7*N}

前/后N天

${yyyymmdd±N}

前/后N年(yy格式)

${yy±N}

计划时间参数

计划时间是指在调度时间内,任务预期调度运行的时间点(即当天)。该参数是通过yyyy、yy、mm、dd、hh24、mi和ss自定义组合而生成的时间参数,其格式可自定义。例如,$[yyyymmdd]、$[yyyy-mm-dd]、$[hh24miss]、$[hh24:mi:ss]和$[yyyymmddhh24miss]等。

  • yyyy:表示4位的年份,取值为计划时间的年份。
  • yy:表示2位的年份,取值为计划时间的年份后两位。
  • mm:表示月份,取值为计划时间的月份。
  • dd:表示天,取值为计划时间的天。
  • hh:表示12小时制,取值为计划时间的小时。
  • hh24:表示24小时制,取值为计划时间的小时。
  • mi:表示分钟,取值为计划时间的分钟。
  • ss:表示秒,取值为计划时间的秒。

取N小时前、N分钟前的时间数据请参考表2,该参数不支持通过$[yyyy-N]、$[mm-N]等直接获取多少年前、多少月前的时间数据。

表2 计划时间参数获取说明

计划时间场景

获取方法

后N年

$[add_months(yyyymmdd,12*N)]

前N年

$[add_months(yyyymmdd,-12*N)]

后N月

$[add_months(yyyymmdd,N)]

前N月

$[add_months(yyyymmdd,-N)]

前/后N周

$[yyyymmdd±7*N]

前/后N天

$[yyyymmdd±N]

前/后N小时

获取该时间数据包含如下两种方式:

  • $[hh24miss±N/24]
  • $[自定义时间格式±N/24]。

    例如,取前一个小时的不同时间格式:

    • 取月:$[mm-1/24]。
    • 取年:$[yyyy-1/24]。
    • 取年月:$[yyyymm-1/24]。
    • 取年月日:$[yyyymmdd-1/24]。
    • 取前一天且前一小时:$[yyyymmdd-1-1/24]

前/后N分钟

获取该时间数据包含如下四种方式:

  • $[hh24miss±N/24/60]
  • $[yyyymmddhh24miss±N/24/60]
  • $[mi±N/24/60]
  • $[自定义时间格式±N/24/60]

    例如,取计划时间15分钟前的不同时间格式:

    • 取年:$[yyyy-15/24/60]
    • 取年月:$[yyyymm-15/24/60]
    • 取年月日:$[yyyymmdd-15/24/60]
    • 取小时:$[hh24-15/24/60]
    • 取分钟:$[mi-15/24/60]
  • 调度参数替换值在实例生成时已经确定,所以调度参数的替换值不会随着实例实际运行时间的改变而改变。
  • 当调度参数取小时、分钟时,参数替换值由实例的计划时间决定,即由节点调度配置的计划调度时间决定。举例如下:
    • 如果当前节点为日调度节点,并且设置计划调度时间为01:00,则小时的参数取值为01。
    • 如果当前节点为小时调度节点,并且设置计划调度时间为00:00~23:59,每小时调度一次,则:第一个小时实例计划时间为0点,小时的参数取值为00,第二个小时实例计划时间为1点,小时的参数取值为01,以此类推。

业务ID参数

业务ID会替换成当前业务的实际ID,包括作业ID和作业生成的实例ID。

表3 业务ID参数获取说明

方法

说明

$job_id

数据开发作业id。获取该ID请参考查询作业详情

$instance_id

作业实例id(单节点作业测试运行不生成实例id,不支持)。获取该ID请参考查询作业实例列表