本文介紹DataWorks的事件類型、訊息格式、以及訊息中各欄位含義,本文檔可協助您快速擷取和查詢相應的事件列表以及訊息格式的資訊。
背景介紹
在DataWorks中,事件根據是否能在DataWorks內部形成卡點,以及是否能在被自建服務訂閱後返回處理結果,被劃分為普通事件和擴充點事件。
普通事件:使用者可訂閱此類事件訊息,但不支援阻斷DataWorks內部操作,您可以通過OpenEvent訂閱此類事件訊息,詳情請參見開放事件(OpenEvent)。
擴充點事件:使用者訂閱這類事件訊息後,您可以通過DataWorks開放平台的擴充程式功能自訂事件訊息的響應。即當使用擴充程式(Extensions)對擴充點的操作進行管控時,DataWorks平台使用者在平台側針對擴充點的操作將被中斷,直至您自訂的擴充程式返回處理結果。
本列表按照模組將各模組支援的事件及該事件所屬類型(普通事件或擴充點事件)進行劃分,並列出EventBridge 事件類型(Type)以及擴充程式事件編碼(eventCode)。
EventBridge 事件類型(Type):用於過濾事件訊息的欄位。具體詳情請參見開啟訊息訂閱。
擴充程式事件編碼(eventCode):事件類型對應的事件編碼,在本地開發時,該編碼可從DataWorks發出的訊息內容中擷取,用來判斷目標事件類型。
空間級事件
空間級模組產生的是事件為空間級事件,例如資料開發模組中對節點運行產生的事件訊息、營運中心模組周期執行個體狀態變更產生的事件訊息等。您可通過下文事件列表瞭解各個模組支援的事件訊息中,哪些為普通事件,哪些為擴充點事件,以及對應事件的發送的訊息格式。
以下訊息格式頁簽僅包含部分內容,發送給EventBridge或Function Compute的完整訊息,您需要結合附錄:訊息格式。
資料開發事件列表
事件列表
事件類型 | 事件 | 普通事件 | 擴充點事件 | EventBridge事件類型(Type) | 擴充程式事件編碼(eventCode) |
節點相關 | 新增節點
|
|
| ||
更新節點
|
|
| |||
檔案相關
| 刪除檔案
|
|
| ||
提交檔案 |
|
| |||
發布檔案 |
|
| |||
運行代碼 |
|
| |||
節點程式碼檢閱 |
|
| |||
表相關 | 表提交開發環境 |
|
| ||
表發布生產環境 |
|
|
訊息格式
節點開發事件(新增、更新)
檔案變更事件(提交、發布、運行、刪除、程式碼檢閱)
表變更事件(提交表至開發環境、發行資料表至生產環境)
營運中心事件列表
事件列表
事件類型 | 事件 | 普通事件 | 擴充點事件 | EventBridge事件類型 (Type) | 擴充程式事件類型(eventCode) |
節點變更 | 刪除節點
|
|
| ||
下線節點
|
|
| |||
凍結節點 |
|
| |||
解凍節點 |
|
| |||
節點補資料 | 節點補資料 |
|
| ||
任務狀態變更 | 調度任務狀態變更 |
|
| ||
執行個體營運 | 凍結執行個體 |
|
| ||
解凍執行個體 |
|
| |||
終止執行個體 |
|
| |||
重跑執行個體
|
|
| |||
置成功執行個體 |
|
| |||
工作流程狀態變更 | 工作流程狀態變更
|
|
| ||
監控警示 | 監控警示 |
|
|
訊息格式
節點變更事件(刪除、下線、凍結、解凍)
節點補資料
任務狀態變更事件
執行個體操作事件(凍結、解凍、終止、重跑、置成功)
工作流程狀態變更事件
監控警示
資訊安全中心事件列表
事件列表
事件類型 | 事件 | 普通事件 | 擴充點事件 | EventBridge事件類型 (Type) | 擴充程式訊息類型(eventCode) |
核准中心(建立、完成申請單) | 建立申請單 |
|
| ||
完成申請單 |
|
| |||
資訊安全中心(表許可權申請) | 表許可權申請 |
|
|
訊息格式
訊息實體格式:核准中心(建立、完成申請單)
訊息實體格式:資訊安全中心(表許可權申請)
附錄:授權內容列表(MaxCompute)
附錄:授權內容列表(DataService)
資料品質事件列表
事件列表
事件類型 | 事件 | 普通事件 | 擴充點事件 | EventBridge事件類型 (Type) | 擴充程式事件類型(eventCode) |
資料品質校正 | 校正結果反饋
|
| | ||
校正完成
|
|
|
訊息格式
訊息實體格式:資料品質校正
租戶級事件
租戶級模組產生的是租戶級事件,例如管控台刪除空間所產生的事件訊息。您可通過下文事件列表瞭解各個模組支援的事件訊息中,哪些為普通事件,哪些為擴充點事件,以及對應事件的發送的訊息格式。
以下訊息格式頁簽僅包含部分內容,發送給EventBridge或Function Compute的完整訊息,您需要結合附錄:訊息格式。
管控台事件列表
事件列表
事件類型 | 事件 | 普通事件 | 擴充點事件 | EventBridge事件類型(Type) | 擴充程式事件類型(eventCode) |
刪除專案空間 | 刪除空間前置 |
|
| ||
刪除空間後置 |
|
|
訊息格式
訊息實體格式:刪除專案空間事件
上傳與下載事件列表
事件列表
事件類型 | 事件 | 普通事件 | 擴充點事件 | EventBridge事件類型(Type) | 擴充程式事件類型(eventCode) |
資料下載與上傳 | 資料下載前置-檔案產生 | dataworks:ResourcesDownload:DownloadResources | download-resources | ||
資料下載前置-檔案下載 | dataworks:ResourcesDownload:DownloadResourcesExecute | download-resources-execute | |||
資料上傳前置 | dataworks:ResourcesUpload:UploadDataToTable | upload-data-to-table |
訊息格式
訊息實體格式:資料下載與上傳
附錄:訊息格式
發送給EventBridge的訊息格式
在配置開放事件(OpenEvent)添加事件分發通道後,若在DataWorks內觸發空間級或租戶級事件後,會按照在事件匯流排(EventBridge)中的配置的事件類型(Type)進行過濾,以下為DataWorks通過事件分發通道發送至事件匯流排EventBridge的訊息格式。
{
"datacontenttype": "application/json;charset=utf-8",//參數data的內容形式。datacontenttype只支援application/json格式。
"data": {
//訊息類型不同,訊息內容也不同。以下為訊息中固定的兩個欄位。各事件訊息請參見上文。
"tenantId": 28378****10656,//租戶id,DataWorks每個阿里雲主帳號對應一個租戶,每個租戶有自己的租戶id,該值您可在DataWorks資料開發右上方使用者資訊查看。
"eventCode": "xxxx"//
},
"id": "539fd8f4-4ea1-4625-aa8b-6c906674****",//事件ID。標識事件的唯一值。
"source": "acs.dataworks",//事件來源,提供事件的服務,說明此訊息由dataworks推送。
"specversion": "1.0",
"subject": "",
"time": "2020-11-19T21:04:41+08:00",//事件產生時間。
"type": "dataworks:InstanceStatusChanges:InstanceStatusChanges",//事件類型。該事件類型可在EventBridge控制台對DataWorks推送的全量訊息進行過濾,每個事件的事件Type值不同,請參見上文擷取不同事件訊息類型。
"aliyunaccountid": "123456789098****",//阿里雲主帳號ID
"aliyunpublishtime": "2020-11-19T21:04:42.179PRC",//EventBridge接收事件的時間。
"aliyuneventbusname": "default",//用於接收DataWorks事件訊息的EventBridge事件匯流排名稱。
"aliyunregionid": "cn-hangzhou",//接收事件的地區。
"aliyunpublishaddr": "172.25.XX.XX"
}
一個完整的事件訊息包括訊息的實體格式,以及訊息的ID、來源、產生時間等基礎資訊。其中,重要欄位的詳細說明如下表。
欄位名稱 | 欄位類型 | 說明 |
data | object | 訊息實體格式。不同類型事件的訊息格式及其包含的欄位含義存在差異,詳情請參見: 資料開發事件訊息格式:資料開發事件列表。 營運中心事件訊息格式:營運中心事件列表。 資訊安全中心事件訊息格式:資訊安全中心事件列表。 資料品質事件訊息格式:資料品質事件列表。 |
id | String | 事件訊息的唯一ID。用於定位事件訊息。 |
type | String | 事件類型。用於描述事件來源相關的事件類型。取值樣本如下:
該事件類型可在EventBridge控制台對DataWorks推送的全量訊息進行過濾,每個事件的事件Type值不同,請參見上文擷取不同事件訊息類型。 |
發送給Function Compute的訊息格式
在DataWorks上配置擴充程式(Extensions):Function Compute方式時,DataWorks會將觸發對應的擴充點事件時的訊息以JSON的形式將訊息發送至Function Compute,以下為發送至Function Compute的訊息格式。
{
"blockBusiness": true,
"eventCategoryType": "resources-download",//事件類別目錄
"eventType": "upload-data-to-table",//事件類型
"extensionBizId": "job_6603643923728775070",
"messageBody": {
//訊息類型不同,訊息內容也不同。以下為訊息中固定的兩個欄位。各事件訊息請參見上文。
"tenantId": 28378****10656,//租戶id,DataWorks每個阿里雲主帳號對應一個租戶,每個租戶有自己的租戶id,該值您可在DataWorks資料開發右上方使用者資訊查看。
"eventCode": "xxxx"//
},
"messageId": "52d44ee7-b51f-4d4d-afeb-*******"//事件ID。標識事件的唯一值。
}
重要欄位詳細說明如下:
欄位名稱 | 欄位類型 | 說明 | |
messageId | String | 事件ID,標識事件的唯一值。 | |
messageBody | DataWorks推送的具體事件訊息,您可在開發擴充程式中使用,訊息類型不同,此部分內容也不同。 | ||
tenantId | 租戶id,DataWorks每個阿里雲主帳號對應一個租戶,每個租戶有自己的租戶id,該值您可在DataWorks資料開發右上方使用者資訊查看 | ||
eventCode | 事件編碼。用於標識某一類事件訊息,各事件類型對應的eventCode請查閱開發參考:事件列表與訊息格式表格中擴充程式事件類型(eventCode)列。 |