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