DataWorks擴充程式是一種外掛程式,結合OpenAPI及OpenEvent,您可以通過擴充程式對DataWorks中的使用者操作行為進行自訂邏輯處理並實現攔截阻斷等行為管控。例如,你可以開發一個任務變更管控擴充程式,實現自訂任務發布流程管控。本文為您介紹擴充程式基本情況。
使用限制
僅支援DataWorks企業版。
支援地區:華北2(北京)、華東1(杭州)、華東2(上海)、華北3(張家口)、華南1(深圳)、西南1(成都)、美國(矽谷)、美國(維吉尼亞)、德國(法蘭克福)、日本(東京)、中國(香港)、新加坡。
注意事項
許可權控制:僅開放平台管理員和租用戶系統管理員、阿里雲主帳號或者擁有AliyunDataWorksFullAccess許可權的RAM使用者擁有開發人員背景讀寫權限,許可權控制詳情請參見全域級模組許可權控制、產品及控制台許可權控制詳情:RAM Policy。
版本期限:如果您使用的企業版DataWorks到期,所有擴充程式將會失效,無法再觸發事件檢查。已觸發且未達終態的檢查會自動通過。
使用限制:目前僅部分擴充點事件支援通過Function Compute方式部署擴充程式。
產品能力
DataWorks開放平台提供了豐富的擴充點,基於擴充點提供了擴充程式(Extensions)機制,擴充程式是一種外掛程式,結合OpenAPI和開放訊息OpenEvent,實現滿足您業務需求的個人化功能定製,以及對DataWorks側的操作攔截和阻斷等行為進行管控。
適用的管控情境:
管控表/任務命名規範。
管控重複資料同步任務。
管控任務計費。
管控任務依賴。
說明您可參考開發參考:事件列表與訊息格式中的事件類型實現更多情境。
自訂管控流程說明:當使用擴充程式來對擴充點的操作進行管控時,DataWorks平台使用者在平台側針對擴充點的操作會被中斷,需在自訂的擴充程式返回結果後,才可繼續操作。
例如:在標準模式工作空間下,您可以在原任務開發發布基礎流程上,新增對某函數的檢測的擴充程式,實現任務發布流程從開發>提交>發布到開發>提交前校正>提交>發布前檢查>發布的任務流程轉變。可參見最佳實務:(進階特性應用)禁止使用MAX_PT函數樣本。
開發流程
在DataWorks中,您可以通過自建服務或Function Compute服務方式開發部署擴充程式實現自訂流程管控。
配置開放事件推送事件訊息:根據業務需要接收的擴充點事件類型,選擇合適的方式開發部署擴充程式。
使用自建服務開發部署擴充程式:依賴於EventBridge的訊息分發能力,請確保已指定好DataWorks訊息發送至EventBridge中的哪個事件匯流排,並在該事件匯流排中配置訊息的路由服務。
使用Function Compute開發部署擴充程式:DataWorks訊息預設推送至指定的FC函數服務,無需在OpenEvent中配置事件匯流排。
開發部署擴充程式:在擴充程式中接收、解析DataWorks推送的事件訊息,自訂邏輯判斷,並將結果返回至DataWorks。
開發部署擴充程式:自建服務方式:使用事件匯流排中訊息最終路由的服務程式,來接受DataWorks訊息,將訊息進行邏輯判斷後,通過指定的API回調處理結果。
開發部署擴充程式:Function Compute方式:需實現Function Compute的特定介面,用於接收擴充程式請求,並返回擴充程式處理結果。
註冊擴充程式:在DataWorks側定義開發的擴充程式將用於接收和處理哪一類事件訊息。
測試擴充程式:在測試空間驗證擴充程式是否符合預期。
提交上線擴充程式:確認無誤後提交平台審核,審核通過後上線擴充程式給所有空間使用。
說明通常對擴充程式的審核會在
T+3
個工作日完成,請耐心等待。DataWorks開放事件訊息有效期間是3天 ,若超出3日則視為到期,擴充程式不予處理。
支援的擴充點事件列表
當前各模組支援通過擴充程式處理的擴充點事件分類及事件詳情如下表。
開發部署擴充程式時,需使用不同擴充點對應的eventcode,各事件的事件編碼詳情請參見開發參考:事件列表與訊息格式。
僅標準模式工作空間支援發布相關擴充點。
擴充點攔截效果可參見應用樣本:資料開發過程觸發事件檢查、應用樣本:營運中心觸發事件檢查。
應用範圍 | 系統模組 | 擴充點類型 | 擴充點 | 回調校正結果的OpenAPI |
空間級 | 節點變更 | 新增節點 | 您可通過UpdateIDEEventResult介面將事件處理結果回調至DataWorks。 | |
檔案變更
| 刪除檔案 | |||
提交檔案 | ||||
發布檔案 | ||||
運行代碼 | ||||
表變更 | 表提交開發環境 | |||
表發布生產環境 | ||||
節點營運 | 下線節點 | 您可通過UpdateWorkbenchEventResult介面將事件處理結果回調至DataWorks。 | ||
凍結節點 | ||||
解凍節點 | ||||
節點補資料 | 節點補資料 | |||
執行個體營運 | 凍結執行個體 | |||
解凍執行個體 | ||||
終止執行個體 | ||||
重跑執行個體(重跑、重跑下遊) | ||||
置成功執行個體 | ||||
任務狀態變更 | 調度任務狀態變更 | |||
工作流程狀態變更 | 補資料執行個體、手動商務程序工作流程狀態變更 | |||
監控警示 | 監控警示 | |||
核准中心 | 建立申請單 | 您可通過CallbackExtension介面將事件處理結果回調至DataWorks。 | ||
資訊安全中心 | 表許可權申請 | |||
資料品質校正 | 校正結果反饋 | |||
校正完成 | ||||
租戶級 | 空間管理 | 刪除空間前置 | ||
刪除空間後置 | ||||
資料下載 | 資料下載前置-檔案產生 | |||
資料下載前置-檔案下載 | ||||
資料上傳 | 資料上傳前置 |
附錄:兩類部署方式差異對比表
自建服務 | Function Compute | |
操作難度 | 操作繁瑣,涉及伺服器、應用部署、網路以及營運問題。 | 操作簡單,僅需一個函數即可完成擴充程式的部署操作。 |
費用 | - | 會產生相應Function Compute費用,詳情請參見計費概述。 |
支援事件 | 支援多種擴充事件,擴充事件詳情請參見:開發參考:事件列表與訊息格式。 | Function Compute部署僅支援資料下載/上傳前置事件、資產上架/下架前置事件。 |