发布中心

更新时间: 2025-06-04 10:32:04

DataWorks的发布中心是数据开发中任务发布功能的升级版,主要解决多环境间节点、函数、资源、组件等对象的发布问题。当您需要将源工作空间中的节点、函数等对象同步至目标工作空间时,可以借助该功能实现跨环境的一键发布。本文为您介绍发布中心的应用场景、逻辑说明、发布流程等内容。

功能介绍

发布中心的发布操作以节点、函数、资源、组件等为最小执行单位,其关联的业务流程及节点间依赖关系将同步部署至目标工作空间。详情请参见发布变更逻辑

基于不同的发布环境,DataWorks的发布中心支持同工作空间发布跨工作空间发布跨云发布

  • 同工作空间发布

    该功能仅支持标准模式且使用了新版数据开发的工作空间,在同一工作空间下,将节点、函数、资源、组件等对象批量从开发环境发布至生产环境。

  • 跨工作空间发布

    跨工作空间发布主要用于同地域同一阿里云账号下,将节点、函数、资源、组件等对象从一个简单模式的工作空间发布至另一个工作空间。基于该功能,您还可以实现简单模式工作空间的生产开发环境隔离,更多信息,请参见附录:简单模式如何实现开发与生产隔离

  • 跨云发布

    该功能仅支持使用了旧版数据开发的工作空间跨账号、跨地域或跨云平台(例如,金融云、政务云等)发布节点、函数、资源、组件等对象。其本质也是将节点由源工作空间迁移发布至目标工作空间,只是两个工作空间所归属的地域、账号、云平台不同。

发布变更逻辑

如果节点存在依赖关系,则必须在上游节点成功发布至目标工作空间后,下游节点才能执行发布操作。发布节点的变更情况如下:

说明
  • 配置依赖映射关系,详情请参见配置发布环境,配置调度依赖,详情请参见配置调度依赖

  • 本文均以工作空间名称.节点名称格式的输出名称示例,具体输出名称请以实际使用为准。

不存在跨工作空间依赖

project1中的节点不存在跨工作空间依赖,将project1的所有节点发布至project2

image

发布后,所有的节点输入输出名称中,涉及的project1前缀变更为project2。例如:

  • task_A的输入名:由project1_root变更为project2_root

  • task_A的输出名:由project1.task_A变更为project2.task_A

存在跨工作空间依赖,未设置跨工作空间依赖映射

project1.task_A跨工作空间依赖project2.task_A,将project1的所有节点发布至project3

image

发布后,节点的变更如下:

  • 节点的输入输出:所有的节点输入输出名称中,涉及的project1前缀变更为project3

  • 节点的跨工作空间依赖:原project1.task_A跨工作空间依赖的project2.task_A,发布后,project3.task_A依然跨工作空间依赖project2.task_A

存在跨工作空间依赖,设置了跨工作空间依赖映射

project1.task_A跨工作空间依赖project2.task_A,将project1的所有节点发布至project4,并设置project2依赖映射project3

image

发布后,节点的变更如下:

  • 节点的输入输出:所有的节点输入输出名称中,涉及的project1前缀变更为project4

  • 节点的跨工作空间依赖:原project1.task_A跨工作空间依赖的project2.task_A,发布后,project4.task_A跨工作空间依赖变更为依赖project3.task_A

重要

源工作空间的节点跨工作空间依赖使用系统输出名时(即源工作空间节点的调度配置 > 上游节点输出名列表中包含了非本空间下节点的系统输出名),建议您重新修改依赖使用非系统的输出名,否则会出现发布失败情况。

  • 不建议引用系统生成的输出名:

    未参加新版数据开发公测的工作空间中,系统输出名展示格式为工作空间名称.文件ID_out,例如shanghai_simple02.504822000_out

  • 建议引用如下格式的输出名:

    • 工作空间名称.产出表名称(推荐)

    • 工作空间名称.节点名称

MaxCompute引擎类任务的代码变更

MaxCompute引擎类任务(例如,ODPS SQL、ODPS Spark等 )发布到目标工作空间后,执行任务代码时,系统会将任务代码中涉及的源工作空间名称更换为目标工作空间名称。

示例task_A为ODPS SQL/MaxCompute SQL节点。在project1中查询table_A的代码为SELECT * FROM project1.tableA,将project1的所有节点发布至project2

image

节点发布至project2后,查询table_A的代码将变更为SELECT * FROM project2.tableA

上一篇: HTTP触发器节点实现跨租户触发节点执行 下一篇: 同工作空间发布
阿里云首页 大数据开发治理平台 DataWorks 相关技术圈