發布中心
DataWorks的發布中心為當前任務發布功能的升級版,主要解決多環境間節點、函數、資源、組件等對象的發布問題。通常,當目標端需要創建與原端相同的對象時,可以借助該功能快速實現對象的發布。本文為您介紹發布中心的應用場景、邏輯說明、發布流程等內容。
應用場景
基于不同的發布環境,DataWorks的發布中心可分為跨工作空間發布和跨云發布兩種場景,具體如下:
跨工作空間發布
跨工作空間發布為原跨項目克隆功能,主要用于同地域同一阿里云賬號下,不同工作空間的節點、函數、資源、組件等對象的發布。
由于簡單模式工作空間只有一個環境,不區分開發環境和生產環境,不能直接隔離開發和生產。如果您需要實現開發和生產隔離,則可以使用跨工作空間發布功能,將用于開發測試的簡單模式工作空間中的任務發布至用于生產調度的簡單模式工作空間,實現簡單模式工作空間開發環境和生產環境的隔離??绻ぷ骺臻g發布常用的場景如下:
將目標對象從一個簡單模式的工作空間發布至另一個簡單模式的工作空間。
將目標對象從一個簡單模式的工作空間發布至另一個標準模式的工作空間。
跨云發布
跨云發布主要用于跨賬號、跨地域或跨云平臺(例如,金融云、政務云等)節點、函數、資源、組件等對象的發布。其本質也是將節點由原工作空間遷移發布至目標工作空間,只是兩個工作空間所歸屬的地域、賬號、云平臺不同。
邏輯說明
發布中心的發布操作是以節點為單位進行的,業務流程、以及節點的依賴關系會同步發布至目標工作空間。如果節點存在依賴關系,則必須在上游節點成功發布至目標工作空間后,下游節點才能執行發布操作。發布節點的變更情況如下:
節點發布時,系統會更改所有前綴為原工作空間名稱的節點輸入輸出,將其前綴由原工作空間名稱更換為目標工作空間名稱。同時,根據節點是否存在跨工作空間依賴,您可以基于業務需求配置發布環境的依賴映射參數,不同配置情況,節點發布后的上下游依賴及輸入輸出名稱不同,詳情請參見下文的節點依賴關系及輸入輸出變更。
發布MaxCompute引擎類任務,系統會修改任務代碼中涉及的原工作空間名稱為目標工作空間名稱,詳情請參見下文的MaxCompute引擎類任務的代碼變更。
節點依賴關系及輸入輸出變更
不同配置場景的節點發布后的變更情況如下。
不存在跨工作空間依賴,節點發布前后輸入輸出及依賴關系變更
project1
中的節點不存在的跨工作空間依賴,將project1
的所有節點發布至project2
。發布后,所有的節點輸入輸出名稱中,涉及的project1前綴變更為project2。例如:task_A的輸入名:由
project1_root
變更為project2_root
。task_A的輸出名:由
project1.task_A_out
變更為project2.task_A_out
。
存在跨工作空間依賴,但未設置跨工作空間依賴映射,節點發布前后輸入輸出及依賴關系變更
project1.task_A
跨工作空間依賴project3.task_A
,將project1
的所有節點發布至project2
。發布后,節點的變更如下:節點的輸入輸出:所有的節點輸入輸出名稱中,涉及的
project1
前綴變更為project2
。節點的跨工作空間依賴:原
project1.task_A
跨工作空間依賴的project3.task_A
,發布后,project2.task_A
依然跨工作空間依賴project3.task_A
。
存在跨工作空間依賴,設置了跨工作空間依賴映射,節點發布前后輸入輸出及依賴關系變更
project1.task_A
跨工作空間依賴project3.task_A
,將project1
的所有節點發布至project2
,并設置project3
依賴映射project4
。發布后,節點的變更如下:節點的輸入輸出:所有的節點輸入輸出名稱中,涉及的
project1
前綴變更為project2
。節點的跨工作空間依賴:原
project1.task_A
跨工作空間依賴的project3.task_A
,發布后,project2.task_A
跨工作空間依賴變更為依賴project4.task_A
。
MaxCompute引擎類任務的代碼變更
MaxCompute引擎類任務(例如,ODPS SQL、ODPS Spark等 )發布到目標工作空間后,執行任務代碼時,系統會將任務代碼中涉及的原工作空間名稱更換為目標工作空間名稱。
示例task_A為ODPS SQL節點。在project1
中查詢table_A
的代碼為SELECT * FROM project1.tableA
,將project1
的所有節點發布至project2
。節點發布至project2
后,查詢table_A
的代碼將變更為SELECT * FROM project2.tableA
。
使用限制
跨工作空間發布的限制如下:
環境限制
DataWorks僅支持對簡單模式的工作空間進行跨工作空間發布,將其發布至其他簡單或標準模式的工作空間。
權限限制
創建發布環境:僅具有空間管理員角色權限的成員支持創建及配置發布環境。
創建發布包:具有開發角色權限的成員可以創建發布包。
發布發布包:具有運維、部署、空間管理員角色權限的成員可以發布發布包。
工作空間添加成員及授權,詳情請參見空間級模塊權限管控。
其他限制
跨工作空間發布用于同地域、同一阿里云賬號下,不同工作空間的發布,該場景不支持跨地域發布。如果您需要跨地域發布,請使用跨云發布。
DataWorks目前不支持發布舊版業務流程至目標工作空間。請將源工作空間中舊版業務流程的任務遷移至業務流程中的某個目錄后,再發布該業務流程至目標工作空間。
跨云發布的限制:執行跨云發布的賬號需要同時為源工作空間和目標工作空間的成員,并且在源工作空間中具有項目所有者或空間管理員角色權限。工作空間添加成員及授權,詳情請參見空間級模塊權限管控。
發布流程
跨工作空間發布
跨工作空間發布的所有操作均在原工作空間執行,發布流程如下圖。
創建并配置發布環境,詳情請參見創建并配置發布環境。
由于在目標工作空間發布原工作空間的節點時,目標端是一個全新的發布環境,因此,您需要將原端的引擎實例、資源組及依賴關系等信息映射至目標端。映射后,當發布發布包時,無需在目標工作空間進行額外的配置,系統便會將發布節點使用的環境替換為映射的環境信息。
基于已創建的發布環境,將待發布對象添加至發布包統一發布。創建并發布發布包,詳情請參見創建及發布發布包:跨工作空間。
說明跨工作空間發布場景,發布包創建完成后系統便直接發布,無需您手動執行發布操作。
查看發布結果,詳情請參見查看發布包列表。
跨云發布
跨云發布的發布流程如下圖。
創建并配置發布環境,詳情請參見創建并配置發布環境。
由于在目標工作空間發布原工作空間的節點時,目標端是一個全新的發布環境,因此,您需要將原端的引擎實例、資源組及依賴關系等信息映射至目標端。映射后,當發布發布包時,無需在目標工作空間進行額外的配置,系統便會將發布節點使用的環境替換為映射的環境信息。
在原工作空間中基于已創建的發布環境,將待發布對象添加至發布包并下載發布包至本地。隨后將下載的發布包導入至目標工作空間提交發布。創建并發布發布包,詳情請參見創建及發布發布包:跨云。
說明跨云發布場景,發布包創建完成后,您需要手動將發布包下載至本地,再導入目標工作空間進行發布。
在目標工作空間查看發布結果,詳情請參見查看發布包列表。