DataWorks的發布中心為當前任務發布功能的升級版,主要解決多環境間節點、函數、資源、組件等對象的發布問題。通常,當目標端需要建立與原端相同的對象時,可以藉助該功能快速實現對象的發布。本文為您介紹發布中心的應用情境、邏輯說明、發布流程等內容。
應用情境
基於不同的發布環境,DataWorks的發布中心可分為跨工作空間發布和跨雲發布兩種情境,具體如下:
跨工作空間發布
跨工作空間發布為原跨專案複製功能,主要用於同地區同一阿里雲帳號下,不同工作空間的節點、函數、資源、組件等對象的發布。
由於簡單模式工作空間只有一個環境,不區分開發環境和生產環境,不能直接隔離開發和生產。如果您需要實現開發和生產隔離,則可以使用跨工作空間發布功能,將用於開發測試的簡單模式工作空間中的任務發布至用於生產調度的簡單模式工作空間,實現簡單模式工作空間開發環境和生產環境的隔離。跨工作空間發布常用的情境如下:
將目標對象從一個簡單模式的工作空間發布至另一個簡單模式的工作空間。
將目標對象從一個簡單模式的工作空間發布至另一個標準模式的工作空間。
跨雲發布
跨雲發布主要用於跨帳號、跨地區或跨雲平台(例如,金融雲、政務雲等)節點、函數、資源、組件等對象的發布。其本質也是將節點由原工作空間遷移發布至目標工作空間,只是兩個工作空間所歸屬的地區、帳號、雲平台不同。
邏輯說明
發布中心的發佈動作是以節點為單位進行的,商務程序、以及節點的依賴關係會同步發布至目標工作空間。如果節點存在依賴關係,則必須在上遊節點成功發布至目標工作空間後,下遊節點才能執行發佈動作。發布節點的變更情況如下:
節點發布時,系統會更改所有首碼為原工作空間名稱的節點輸入輸出,將其首碼由原工作空間名稱更換為目標工作空間名稱。同時,根據節點是否存在跨工作空間依賴,您可以基於業務需求配置發布環境的依賴映射參數,不同配置情況,節點發布後的上下遊依賴及輸入輸出名稱不同,詳情請參見下文的節點依賴關係及輸入輸出變更。
發布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目前不支援發布舊版商務程序至目標工作空間。請將源工作空間中舊版商務程序的任務遷移至商務程序中的某個目錄後,再發布該商務程序至目標工作空間。
跨雲發布的限制:執行跨雲發布的帳號需要同時為源工作空間和目標工作空間的成員,並且在源工作空間中具有專案所有者或空間管理員角色許可權。工作空間新增成員及授權,詳情請參見空間級模組許可權管控。
發布流程
跨工作空間發布
跨工作空間發布的所有操作均在原工作空間執行,發布流程如下圖。
建立並配置發布環境,詳情請參見建立並配置發布環境。
由於在目標工作空間發布原工作空間的節點時,目標端是一個全新的發布環境,因此,您需要將原端的引擎執行個體、資源群組及依賴關係等資訊映射至目標端。映射後,當發布發布包時,無需在目標工作空間進行額外的配置,系統便會將發布節點使用的環境替換為映射的環境資訊。
基於已建立的發布環境,將待發布對象添加至發布包統一發布。建立並發布發布包,詳情請參見建立及發布發布包:跨工作空間。
說明跨工作空間發布情境,發布包建立完成後系統便直接發布,無需您手動執行發佈動作。
查看發布結果,詳情請參見查看發布包列表。
跨雲發布
跨雲發布的發布流程如下圖。
建立並配置發布環境,詳情請參見建立並配置發布環境。
由於在目標工作空間發布原工作空間的節點時,目標端是一個全新的發布環境,因此,您需要將原端的引擎執行個體、資源群組及依賴關係等資訊映射至目標端。映射後,當發布發布包時,無需在目標工作空間進行額外的配置,系統便會將發布節點使用的環境替換為映射的環境資訊。
在原工作空間中基於已建立的發布環境,將待發布對象添加至發布包並下載發布包至本地。隨後將下載的發布包匯入至目標工作空間提交發布。建立並發布發布包,詳情請參見建立及發布發布包:跨雲。
說明跨雲發布情境,發布包建立完成後,您需要手動將發布包下載至本地,再匯入目標工作空間進行發布。
在目標工作空間查看發布結果,詳情請參見查看發布包列表。