工作空间全局参数
工作空间全局参数是在 Workspace 级别统一维护的参数。它适合保存多个任务组、组合任务或任务都会复用的配置值,例如数据库地址、环境标识、业务日期变量等。
如果你需要在多个任务组或组合任务 里重复维护同一个参数,但是后续每次变更都需要逐个修改,容易遗漏或产生不一致的场景时可推荐优先使用工作空间全局参数。
使用全局参数后,可以在工作空间中维护一份公共值,再让下游参数引用它,实现“改一处、全生效”。
全局参数的核心机制是逐层引用与覆盖:全局参数本身作为最上层参数,被任务组参数引用;组合任务参数、任务参数再继续引用上层参数。任务运行时,系统会按参数层级解析,遇到显式赋值时停止向上查找。
适用场景
全局参数适合用于跨任务组、跨任务复用的公共配置。
| 场景 | 示例 | 使用全局参数的价值 |
|---|---|---|
| 数据库连接配置 | | 生产库地址变更时,只需修改一处 |
| 环境标识 | | 多个任务组统一识别当前运行环境 |
| 公共日期变量 | | 多条链路使用统一业务日期口径 |
| 公共 Schema 名称 | | 避免各任务组维护不同的目标 Schema |
不建议把只在单个任务中使用的临时值放到全局参数中。单任务独有的配置,继续使用 任务参数即可。
参数层级
参数优先级从高到低为:
也就是说,越靠近具体任务的参数优先级越高。如果任务参数已经显式设置了自己的值,运行时会使用任务参数自身的值,不再继续向上查找任务组参数或全局参数。
全局参数类型
普通参数
普通参数用于保存固定值或表达式。引用普通参数后,下游参数运行时使用全局参数当前值。
示例:
普通参数适合:
- 固定字符串、数字、布尔值、日期值。
- 任务调度时可计算的日期表达式。
- 多个任务组共同使用的配置项。
输入参数
输入参数用于接收上游任务输出值。它本身不只是一个固定默认值,而是一个“需要从上游输出取值”的参数定义。
输入参数通常用于上下游任务之间传递运行结果。例如:
输入参数引用后,必须继续配置参数来源,包括上游任务和上游输出参数。否则系统只知道参数名,不知道运行时应该从哪里取值。
创建全局参数
- 进入 工作空间设置。
- 打开 全局参数 Tab。
- 点击 新建。
- 选择参数类型:普通参数 或 输入参数。
- 填写参数名称、数据类型、参数值或来源说明、描述。
- 保存参数。

全局参数包含以下基础字段:
| 字段 | 是否必填 | 说明 |
|---|---|---|
| 参数名 | 是 | 参数的唯一标识。支持英文、数字、下划线,不超过 64 个字符 |
| 参数类型 | 是 | 选择 普通参数 或 输入参数 |
| 参数取值 | 是 | 普通参数和输入参数对应的取值不同。 1)普通参数:直接输入参数取值,可以是系统内置也可以是常量。任务参数 2)输入参数:选择有输入参数的任务输出值。上下文参数 |
| 参数默认取值 | 输入参数必填 | 当全局参数为输入参数时,若开发链未配置需引用的上游任务时,会出现获取不到输出参数的值的情况,这个时候会以当前默认值作为当前全局参数的值进行传递。 |
引用全局参数
普通参数引用示例
普通参数的引用方式比较直接。任务组参数、组合任务参数或任务参数可以选择引用某个全局普通参数。
1)在工作空间->参数中,配置全局参数。参数名称:
workspacename

2)在任务脚本中输入相同的自定义变量
${workspacename}
在参数配置中,取值来源选择「工作空间」

运行时,任务拿到的实际值就是全局参数
workspacename 当前配置的值。
输入参数引用示例
1)创建一个标准的任务类型,SQL、Python或Shell类型 。同时在参数配置中,配置输出参数。

2)全局参数中配置参数为
city_name,其取值为上游任务的输出值。同时配置参数默认取值,即若未在任务调度链路中关联步骤1的任务时,会从「参数默认取值」处进行取值。

3)配置调度链路
在调度链路中引用全局参数的取值,同时需要在跟节点处,将输入参数关联的任务主动添加到调度链路中。如图。
如果,未将00_输出值传递任务节点添加到任务链路中,即未将全局参数中输入参数的取值来源添加进来,则当前任务链的全局参数
city_name均为固定值beijing

编辑和删除全局参数
编辑全局参数
你可以修改全局参数的参数值和描述。
参数名不可修改。如果需要变更参数名,请新建全局参数,再将下游引用切换到新参数。
对于输入参数,修改参数定义后,还需要检查下游引用处的上游来源配置是否仍然有效。
删除全局参数
删除全局参数前,系统会检查是否存在下游引用。
如果没有下游引用,可以直接删除。
如果存在下游引用,系统会展示影响范围,并要求二次确认。删除后,下游参数引用会失效,相关任务运行可能失败。
使用限制
| 限制 | 说明 |
|---|---|
| 不支持循环引用 | 全局参数不可引用其他参数,只能被下游参数引用 |
| 参数名不可重复 | 参数名在工作空间内唯一 |
| 参数名不可修改 | 防止已有引用断链 |
| 输入参数需要上游来源 | 引用输入参数后,必须配置上游任务和输出参数 |
| 输入参数只支持一层传递 | 上游输出只传递给直接依赖的下游 |
| 输入参数传值大小有限制 | 上下文参数最大支持 2MB |
| 删除需要确认影响范围 | 被引用的全局参数删除前需要二次确认 |
| 权限与工作空间一致 | 工作空间成员可读取,工作空间管理员可创建、编辑、删除 |
| 不影响未引用任务 | 未引用全局参数的任务组或任务,运行行为保持不变 |
常见问题
普通参数和输入参数有什么区别
普通参数直接维护一个值或表达式,引用后运行时使用这个值。输入参数不只维护固定值,它需要从上游任务的输出参数中取值,引用时必须额外配置上游来源。
修改普通全局参数后,任务需要重新配置吗
不需要。只要下游参数已经建立引用关系,全局参数值变更后,下次运行会使用新值。
引用输入参数后为什么还要配置上游来源
因为输入参数的值来自上游任务输出。全局输入参数只定义参数名和复用关系,具体从哪个上游任务、哪个输出参数取值,需要在引用处配置。
任务参数和全局参数同名时使用哪个值
如果任务参数显式设置了自己的值,优先使用任务参数自身的值。显式赋值会截断向上查找链路。
全局参数可以直接写在 SQL 中吗
建议通过任务组参数、组合任务参数或任务参数承接后再在代码中引用。这样可以保持参数来源清晰,并让界面展示完整引用链。
删除全局参数会影响已经运行过的实例吗
不会影响已经完成的历史运行结果。但如果下游任务仍在引用该全局参数,后续运行可能因参数无法解析而失败。
相关文档
| 文档 | 说明 |
|---|---|
| 任务参数 | 在单个任务中使用动态参数 |
| 任务参数语法参考 | 系统内置参数、时间表达式和时间函数语法 |
| 任务参数场景示例 | 常见任务参数使用场景 |
| 任务组 | 在任务组中统一管理任务和任务组参数 |
| 组合任务 | 在组合任务中管理多节点工作流和组合任务参数 |
