系统内置参数(Built-in Parameters)由 DataBuddy 自动维护,可在工作流参数、任务参数、调度参数中引用,常用于按运行时间动态过滤数据、记录运行 ID、追溯上下游执行情况等。本文档作为 系统内置参数参考手册。
引用语法
{{<scope>.<field>[.<sub_field>]}}
例如:
引用 | 含义 |
{{workflow.id}} | 工作流 ID |
{{workflow.start_time.iso_date}} | 工作流实例数据时间的 ISO 8601 日期格式 |
{{tasks.upstream_sql.output.first_row.col_a}} | 上游 SQL 任务输出第一行 col_a 列的值 |
工作流(Workflow)参数
标识
参数 | 含义 |
{{workflow.id}} | 工作流 ID |
{{workflow.name}} | 工作流名称 |
{{workflow.run_id}} | 工作流运行 ID(每次运行唯一) |
{{workflow.repair_count}} | 第几次重跑 |
工作流开始时间(start_time)
开始时间为工作流运行的开始时间,UTC+0。
参数 | 含义 |
{{workflow.start_time.year}} | 年份(如 2026) |
{{workflow.start_time.month}} | 月(如 06) |
{{workflow.start_time.day}} | 日(如 15) |
{{workflow.start_time.hour}} | 小时 |
{{workflow.start_time.minute}} | 分钟 |
{{workflow.start_time.second}} | 秒 |
{{workflow.start_time.is_weekday}} | 是否工作日( true / false) |
{{workflow.start_time.iso_date}} | ISO 日期 YYYY-MM-DD |
{{workflow.start_time.iso_datetime}} | ISO 日期时间 YYYY-MM-DDTHH:mm:ss |
{{workflow.start_time.iso_weekday}} | ISO 星期几( 1–7,1 表示周一) |
{{workflow.start_time.timestamp_ms}} | 毫秒级时间戳 |
工作流计划调度时间(trigger.time)
计划调度时间为调度配置的下次执行时间,UTC+0。
参数 | 含义 |
{{workflow.trigger.time.year}} | 年份 |
{{workflow.trigger.time.month}} | 月 |
{{workflow.trigger.time.day}} | 日 |
{{workflow.trigger.time.hour}} | 小时 |
{{workflow.trigger.time.minute}} | 分钟 |
{{workflow.trigger.time.second}} | 秒 |
{{workflow.trigger.time.is_weekday}} | 是否工作日 |
{{workflow.trigger.time.iso_date}} | ISO 日期 |
{{workflow.trigger.time.iso_datetime}} | ISO 日期时间 |
{{workflow.trigger.time.iso_weekday}} | ISO 星期几 |
{{workflow.trigger.time.timestamp_ms}} | 毫秒级时间戳 |
工作空间(Workspace)参数
参数 | 含义 |
{{workspace.id}} | 工作空间 ID |
{{workspace.url}} | 工作空间 URL |
任务(Task)参数
当前任务
参数 | 含义 |
{{task.name}} | 任务名称 |
{{task.run_id}} | 任务运行 ID |
{{task.execution_count}} | 当前任务运行的次数(含重试和重跑) |
{{task.path}} | 当前 Notebook / Python File 任务引用的文件路径 |
上游任务(指定 task_name)
注意
「上游」必须是当前任务的直接或间接上游,且已配置依赖关系。
提示
嵌套多层工作流时,最外层上游传递的参数在最内层可以使用。
参数 | 含义 |
{{tasks.<task_name>.run_id}} | 上游任务运行 ID |
{{tasks.<task_name>.result_state}} | 运行状态: success / failed / excluded / canceled / evicted / timeout / upstream_canceled / upstream_evicted / upstream_failed |
{{tasks.<task_name>.error_code}} | 任务错误码(成功时为空字符串) |
{{tasks.<task_name>.execution_count}} | 上游任务运行次数 |
{{tasks.<task_name>.path}} | 上游 Notebook 任务的文件路径 |
{{tasks.<task_name>.values.<value_name>}} | 上游 Notebook 通过 dlcutils.jobs.taskValues.set 设置的值 |
{{tasks.<task_name>.output.rows}} | 上游 SQL 任务的全部输出行(JSON 数组) |
{{tasks.<task_name>.output.first_row}} | 上游 SQL 任务输出的第一行 |
{{tasks.<task_name>.output.first_row.<column_alias>}} | 上游 SQL 输出第一行的指定列 |
{{tasks.<task_name>.output.alert_state}} | 上游 SQL 告警任务的状态: UNKNOWN / OK / TRIGGERED |
For Each 循环参数(仅在 For Each 内部节点使用)
参数 | 含义 |
{{loopDataArray}} | 整个循环参数数组 |
{{loopDataCurrent}} | 本次循环的元素 |
{{loopDataCurrent.<key>}} | 本次循环元素中指定 key 的值 |
{{loopTimes}} | 当前循环次数(从 1 开始) |
时间格式说明
所有以 UTC+0 为基准的时间字段含义:
字段 | 取值范围 |
year | 4 位数字(如 2026) |
month | 1–12 |
day | 1–31 |
hour | 0–23 |
minute | 0–59 |
second | 0–59 |
is_weekday | true / false |
iso_date | YYYY-MM-DD |
iso_datetime | YYYY-MM-DDTHH:mm:ss |
iso_weekday | 1–7(1 表示周一,7 表示周日) |
timestamp_ms | 13 位毫秒级时间戳 |
引用建议
1. 在工作流参数中定义、SQL/Notebook 中引用
推荐做法:在工作流参数中将系统内置参数封装成业务参数,代码中只引用业务参数。便于后续调整与日志可读性。
# 工作流参数dp_data_dt = {{workflow.start_time.iso_date}}# SQL 中引用WHERE dt = '${dp_data_dt}'# Notebook 中引用dt = dlcutils.widgets.get('dp_data_dt')
2. 在 SQL output 与下游传递
# 下游任务参数task_param = {{tasks.upstream_sql.output.first_row.dt}}# 下游 SQL 中WHERE dt = '${task_param}'
时区说明
start_time / trigger.time 系列字段以 UTC+0 为基准。如需其他时区,请通过工作流参数显式拼接(推荐使用 ISO 字段、时区偏移)。
「完成时间」告警按调度时区计算,详见 工作流与任务的告警。
相关文档
调度与触发器