擴(kuò)展程序(Extensions)
DataWorks擴(kuò)展程序是一種插件,結(jié)合OpenAPI及OpenEvent,您可以通過擴(kuò)展程序?qū)ataWorks中的用戶操作行為進(jìn)行自定義邏輯處理并實(shí)現(xiàn)攔截阻斷等行為管控。例如,您可以開發(fā)一個(gè)任務(wù)變更管控?cái)U(kuò)展程序,實(shí)現(xiàn)自定義任務(wù)發(fā)布流程管控。本文為您介紹擴(kuò)展程序的基本情況。
使用限制
僅支持DataWorks企業(yè)版。
支持地域:華北2(北京)、華東1(杭州)、華東2(上海)、華北3(張家口)、華南1(深圳)、西南1(成都)、美國(硅谷)、美國(弗吉尼亞)、德國(法蘭克福)、日本(東京)、中國(香港)、新加坡。
注意事項(xiàng)
權(quán)限控制:僅開放平臺管理員和租戶管理員、阿里云主賬號或者擁有AliyunDataWorksFullAccess權(quán)限的RAM用戶擁有開發(fā)者后臺的讀寫權(quán)限,權(quán)限控制詳情請參見全局級模塊權(quán)限控制、產(chǎn)品及控制臺權(quán)限控制詳情:RAM Policy。
版本期限:如果您使用的企業(yè)版DataWorks到期,所有擴(kuò)展程序?qū)В瑹o法再觸發(fā)事件檢查。已觸發(fā)且未達(dá)終態(tài)的檢查會自動通過。
使用限制:目前僅部分?jǐn)U展點(diǎn)事件支持通過函數(shù)計(jì)算方式部署擴(kuò)展程序。
產(chǎn)品能力
DataWorks開放平臺提供了豐富的擴(kuò)展點(diǎn),基于擴(kuò)展點(diǎn)提供了擴(kuò)展程序(Extensions)機(jī)制,擴(kuò)展程序是一種插件,結(jié)合OpenAPI和開放消息OpenEvent,實(shí)現(xiàn)滿足您業(yè)務(wù)需求的個(gè)性化功能定制,以及對DataWorks側(cè)的操作攔截和阻斷等行為進(jìn)行管控。
適用的管控場景:
管控表/任務(wù)命名規(guī)范。
管控重復(fù)數(shù)據(jù)同步任務(wù)。
管控任務(wù)計(jì)費(fèi)。
管控任務(wù)依賴。
說明您可參考開發(fā)參考:事件列表與消息格式中的事件類型實(shí)現(xiàn)更多場景。
自定義管控流程說明:當(dāng)使用擴(kuò)展程序來對擴(kuò)展點(diǎn)的操作進(jìn)行管控時(shí),DataWorks平臺使用者在平臺側(cè)針對擴(kuò)展點(diǎn)的操作會被中斷,需在自定義的擴(kuò)展程序返回結(jié)果后,才可繼續(xù)操作。
例如:在標(biāo)準(zhǔn)模式工作空間下,您可以在原任務(wù)開發(fā)發(fā)布基礎(chǔ)流程上,新增對某函數(shù)的檢測的擴(kuò)展程序,實(shí)現(xiàn)任務(wù)發(fā)布流程從開發(fā)>提交>發(fā)布到開發(fā)>提交前校驗(yàn)>提交>發(fā)布前檢查>發(fā)布的任務(wù)流程轉(zhuǎn)變??蓞⒁?a href="http://bestwisewords.com/zh/dataworks/user-guide/best-practices-for-prohibiting-the-use-of-the-max-pt-function" id="802abbc729hir" title="" class="xref">最佳實(shí)踐:(高級特性應(yīng)用)禁止使用MAX_PT函數(shù)示例。
開發(fā)流程
在DataWorks中,您可以通過自建服務(wù)或函數(shù)計(jì)算服務(wù)方式開發(fā)部署擴(kuò)展程序?qū)崿F(xiàn)自定義流程管控。
配置開放事件推送事件消息:根據(jù)業(yè)務(wù)需要接收的擴(kuò)展點(diǎn)事件類型,選擇合適的方式開發(fā)部署擴(kuò)展程序。
使用自建服務(wù)開發(fā)部署擴(kuò)展程序:依賴于EventBridge的消息分發(fā)能力,請確保已指定好DataWorks消息發(fā)送至EventBridge中的哪個(gè)事件總線,并在該事件總線中配置消息的路由服務(wù)。
使用函數(shù)計(jì)算開發(fā)部署擴(kuò)展程序:DataWorks消息默認(rèn)推送至指定的FC函數(shù)服務(wù),無需在OpenEvent中配置事件總線。
開發(fā)部署擴(kuò)展程序:在擴(kuò)展程序中接收、解析DataWorks推送的事件消息,自定義邏輯判斷,并將結(jié)果返回至DataWorks。
開發(fā)部署擴(kuò)展程序:自建服務(wù)方式:使用事件總線中消息最終路由的服務(wù)程序,來接受DataWorks消息,將消息進(jìn)行邏輯判斷后,通過指定的API回調(diào)處理結(jié)果。
開發(fā)部署擴(kuò)展程序:函數(shù)計(jì)算方式:需實(shí)現(xiàn)函數(shù)計(jì)算的特定接口,用于接收擴(kuò)展程序請求,并返回?cái)U(kuò)展程序處理結(jié)果。
注冊擴(kuò)展程序:在DataWorks側(cè)定義開發(fā)的擴(kuò)展程序?qū)⒂糜诮邮蘸吞幚砟囊活愂录ⅰ?/p>
測試擴(kuò)展程序:在測試空間驗(yàn)證擴(kuò)展程序是否符合預(yù)期。
提交上線擴(kuò)展程序:確認(rèn)無誤后提交平臺審核,審核通過后上線擴(kuò)展程序給所有空間使用。
說明通常對擴(kuò)展程序的審核會在
T+3
個(gè)工作日完成,請耐心等待。DataWorks開放事件消息有效期是3天 ,若超出3日則視為過期,擴(kuò)展程序不予處理。
支持的擴(kuò)展點(diǎn)事件列表
當(dāng)前各模塊支持通過擴(kuò)展程序處理的擴(kuò)展點(diǎn)事件分類及事件詳情如下表。
開發(fā)部署擴(kuò)展程序時(shí),需使用不同擴(kuò)展點(diǎn)對應(yīng)的eventcode,各事件的事件編碼詳情請參見開發(fā)參考:事件列表與消息格式。
僅標(biāo)準(zhǔn)模式工作空間支持發(fā)布相關(guān)擴(kuò)展點(diǎn)。
擴(kuò)展點(diǎn)攔截效果可參見應(yīng)用示例:數(shù)據(jù)開發(fā)過程觸發(fā)事件檢查、應(yīng)用示例:運(yùn)維中心觸發(fā)事件檢查。
應(yīng)用范圍 | 系統(tǒng)模塊 | 擴(kuò)展點(diǎn)類型 | 擴(kuò)展點(diǎn) | 回調(diào)校驗(yàn)結(jié)果的OpenAPI |
空間級 | 節(jié)點(diǎn)變更 | 新增節(jié)點(diǎn) | 您可通過UpdateIDEEventResult接口將事件處理結(jié)果回調(diào)至DataWorks。 | |
文件變更
| 刪除文件 | |||
提交文件 | ||||
發(fā)布文件 | ||||
運(yùn)行代碼 | ||||
表變更 | 表提交開發(fā)環(huán)境 | |||
表發(fā)布生產(chǎn)環(huán)境 | ||||
節(jié)點(diǎn)運(yùn)維 | 下線節(jié)點(diǎn) | 您可通過UpdateWorkbenchEventResult接口將事件處理結(jié)果回調(diào)至DataWorks。 | ||
凍結(jié)節(jié)點(diǎn) | ||||
解凍節(jié)點(diǎn) | ||||
節(jié)點(diǎn)補(bǔ)數(shù)據(jù) | 節(jié)點(diǎn)補(bǔ)數(shù)據(jù) | |||
實(shí)例運(yùn)維 | 凍結(jié)實(shí)例 | |||
解凍實(shí)例 | ||||
終止實(shí)例 | ||||
重跑實(shí)例(重跑、重跑下游) | ||||
置成功實(shí)例 | ||||
任務(wù)狀態(tài)變更 | 調(diào)度任務(wù)狀態(tài)變更 | |||
工作流狀態(tài)變更 | 補(bǔ)數(shù)據(jù)實(shí)例、手動業(yè)務(wù)流程工作流狀態(tài)變更 | |||
監(jiān)控告警 | 監(jiān)控告警 | |||
審批中心 | 創(chuàng)建申請單 | 您可通過CallbackExtension接口將事件處理結(jié)果回調(diào)至DataWorks。 | ||
安全中心 | 表權(quán)限申請 | |||
數(shù)據(jù)質(zhì)量校驗(yàn) | 校驗(yàn)結(jié)果反饋 | |||
校驗(yàn)完成 | ||||
租戶級 | 空間管理 | 刪除空間前置 | ||
刪除空間后置 | ||||
數(shù)據(jù)下載 | 數(shù)據(jù)下載前置-文件生成 | |||
數(shù)據(jù)下載前置-文件下載 | ||||
數(shù)據(jù)上傳 | 數(shù)據(jù)上傳前置 |
附錄:兩類部署方式差異對比表
自建服務(wù) | 函數(shù)計(jì)算 | |
操作難度 | 操作繁瑣,涉及服務(wù)器、應(yīng)用部署、網(wǎng)絡(luò)以及運(yùn)維問題。 | 操作簡單,僅需一個(gè)函數(shù)即可完成擴(kuò)展程序的部署操作。 |
費(fèi)用 | - | 會產(chǎn)生相應(yīng)函數(shù)計(jì)算費(fèi)用,詳情請參見計(jì)費(fèi)概述。 |
支持事件 | 支持多種擴(kuò)展事件,擴(kuò)展事件詳情請參見:開發(fā)參考:事件列表與消息格式。 | 函數(shù)計(jì)算部署僅支持?jǐn)?shù)據(jù)下載/上傳前置事件、資產(chǎn)上架/下架前置事件。 |