本文介紹DataWorks的事件類型、訊息格式、以及訊息中各欄位含義,本文檔可協助您快速擷取和查詢相應的事件列表以及訊息格式的資訊。
背景介紹
在DataWorks中,事件根據是否能在DataWorks內部形成卡點,以及是否能在被自建服務訂閱後返回處理結果,被劃分為普通事件和擴充點事件。
普通事件:使用者可訂閱此類事件訊息,但不支援阻斷DataWorks內部操作,您可以通過OpenEvent訂閱此類事件訊息,詳情請參見開放事件(OpenEvent)。
擴充點事件:使用者訂閱這類事件訊息後,您可以通過DataWorks開放平台的擴充程式功能自訂事件訊息的響應。即當使用擴充程式(Extensions)對擴充點的操作進行管控時,DataWorks平台使用者在平台側針對擴充點的操作將被中斷,直至您自訂的擴充程式返回處理結果。
本列表按照模組將各模組支援的事件及該事件所屬類型(普通事件或擴充點事件)進行劃分,並列出EventBridge 事件類型(Type)以及擴充程式事件編碼(eventCode)。
EventBridge 事件類型(Type):用於過濾事件訊息的欄位。具體詳情請參見開啟訊息訂閱。
擴充程式事件編碼(eventCode):事件類型對應的事件編碼,在本地開發時,該編碼可從DataWorks發出的訊息內容中擷取,用來判斷目標事件類型。
空間級事件
空間級模組產生的是事件為空間級事件,例如資料開發模組中對節點運行產生的事件訊息、營運中心模組周期執行個體狀態變更產生的事件訊息等。您可通過下文事件列表瞭解各個模組支援的事件訊息中,哪些為普通事件,哪些為擴充點事件,以及對應事件的發送的訊息格式。
以下訊息格式頁簽僅包含部分內容,發送給EventBridge或Function Compute的完整訊息,您需要結合附錄:訊息格式。
資料開發事件列表
事件列表
事件類型 | 事件(及產生事件的操作) | 普通事件 | 擴充點事件 | EventBridge事件類型(Type) | 擴充程式事件編碼(eventCode) |
節點變更 | 新增節點
|
|
|
|
|
更新節點
|
|
|
|
| |
檔案變更
| 檔案刪除前置事件 開發環境刪除節點 說明 刪除的檔案將進入資源回收筒。 |
|
|
|
|
檔案提交前置事件 |
|
|
|
| |
檔案發布前置事件 |
|
|
|
| |
代碼運行前置事件 |
|
|
|
| |
表變更 | 表提交到開發前置事件 |
|
|
|
|
表提交到生產前置事件 |
|
|
|
|
訊息格式
節點變更事件(新增、更新)
節點新增、修改、刪除事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"nodeName": "****",
"programType": "ODPS_SQL",
"cronExpress": "00 04 00 * * ?",
"blockBusiness": false,
"schedulerType": "NORMAL",
"ownerId": "19****735",
"priority": 1,
"baselineId": 70***287,
"operator": "19***735", //本次操作人
"eventCode": "node-change-created",
"repeatability": true,
"modifyTime": 17***864,
"createTime": 17***864,
"tenantId": 28***656,
"nodeId": 70***003,
"projectId": 9***4
}
}欄位說明如下:
欄位名稱 | 欄位類型 | 說明 |
nodeName | String | 節點名稱。 |
programType | String | 檔案的代碼類型。可以調用ListFileType介面來查詢檔案的代碼類型,或查閱支援的節點類型查看檔案代碼類型。 |
cronExpress | String | 周期調度的cron運算式。 該參數與DataWorks控制台中,資料開發任務的調度配置 > 時間屬性 > cron運算式對應。 配置完調度周期及定時調度時間後,DataWorks會自動產生相應cron運算式。樣本如下:
說明 cron運算式的限制如下:
|
schedulerType | String | 任務執行個體的調度類型,取值如下:
|
ownerId | String | 節點責任人的阿里雲使用者ID。如果該參數為空白,則預設使用調用者的阿里雲使用者ID。 |
priority | Integer | 任務優先順序,取值為1、3、5、7、8。數值越大,優先順序越高。 |
baselineId | Long | 基準ID。 |
repeatability | Boolean | 節點是否可以重複運行:
|
modifyTime | Long | 節點最近一次的修改時間。 |
createTime | Long | 節點的建立時間。 |
nodeId | Long | 節點ID。 |
projectId | Long | 節點所在的專案空間ID。 |
tenantId | Long | 節點所屬的租戶ID。 |
operator | String | 新增、修改或刪除節點的使用者UID。 |
eventCode | String | 擴充程式事件編碼。 |
檔案變更事件(提交、發布、運行、刪除)
檔案提交、發布事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "fileName": "******", "extensionBizId": "eb******9ce", "changeType": "0", "blockBusiness": false, "dataSourceName": "0_******engine", "operator": "19***735", "eventCode": "commit-file", "fileCreateTime": "2024-07-12 11:08:50", "tenantId": 28***656, "fileOwner": "19***735", "fileVersion": 1, "projectId": 9***4, "fileType": 10, "fileId": 50***830, "resourceType": 1 } }欄位說明如下:
欄位名稱
欄位類型
說明
operator
String
提交或發布檔案的使用者UID。
projectId
Long
檔案所屬專案空間的ID。
tenantId
Long
租戶ID。
nodeId
Long
調度節點ID。
fileType
Long
檔案的代碼類型。可以調用ListFileType介面來查詢檔案的代碼類型,或查閱支援的節點類型查看檔案代碼類型。
fileName
String
檔案名稱。
fileOwner
String
檔案所有者。
extensionBizId
String
擴充程式卡點流程ID。
changeType
String
檔案的變更類型:
0:建立檔案。
1:更新檔案。
2:刪除檔案。
fileCreateTime
String
檔案的建立時間,格式為
yyyy-MM-dd HH:mm:ss。fileId
Long
檔案ID。
fileVersion
Long
檔案版本。
dataSourceName
String
資料來源名稱。
eventCode
String
擴充程式事件編碼。
檔案刪除、運行事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "fileName": "***", "extensionBizId": "bf******6e3", "blockBusiness": false, "operator": "19***735", "eventCode": "delete-file", "fileCreateTime": "2024-07-12 11:08:50", //檔案建立時間 "tenantId": 28***656, "fileOwner": "19***735", //檔案所有人 "nodeId": 70***003, "projectId": 9***4, "fileType": 10, "fileId": 50***830, "resourceType": 1 } }欄位說明如下:
欄位名稱
欄位類型
說明
operator
String
刪除或運行檔案的使用者UID。
projectId
Long
檔案所屬專案空間的ID。
tenantId
Long
租戶ID。
nodeId
Long
調度節點ID。
fileType
Long
檔案的代碼類型。可以調用ListFileType介面來查詢檔案的代碼類型,或查閱支援的節點類型查看檔案代碼類型。
fileName
String
檔案名稱。
fileOwner
String
檔案所有者。
extensionBizId
String
擴充程式卡點流程ID。
fileCreateTime
String
檔案的建立時間,格式為
yyyy-MM-dd HH:mm:ss。fileId
Long
檔案ID。
eventCode
String
擴充程式事件編碼。
表變更事件(提交表至開發環境、發行資料表至生產環境)
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"operator": "**************",
"projectId": 12*****56,
"tenantId": 12******56,
"extensionBizId": "12***56",
"tableName":"table1",
"tableType":"ODPS",
"maxComputeProject":"project1"
}
}欄位說明如下:
欄位名稱 | 欄位類型 | 說明 |
operator | String | 提交或發行資料表的使用者UID。 |
projectId | Long | 專案空間ID。 |
tenantId | Long | 租戶ID。 |
extensionBizId | String | 擴充程式卡點流程ID。 |
tableName | String | 表名稱。 |
tableType | String | 表類型,取值為ODPS。 |
maxComputeProject | String | 對應MaxCompute的專案名稱。 |
Data Integration事件列表
事件列表
事件類型 | 事件(及產生事件的操作) | 普通事件 | 擴充點事件 | EventBridge事件類型 (Type) | 擴充程式事件類型(eventCode) |
節點變更事件 | 開啟任務 |
|
|
|
|
批量開啟任務 |
|
|
|
|
訊息格式
節點變更事件-開啟任務
節點變更事件-開啟任務事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。
## message v1任務啟動表沒有超過500張
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "start-diJob",
"extensionBizId": "0a4***b8ae",
"extensionBizName": "sync_mysql_to_odps_20240726_192307",
"appId": 293624,
"showTableMapping": true,
"tenantId": 28***656,
"blockBusiness": true,
"id": 5280,
"projectId": 9***4,
"tableMapping": [
{
"srcTable": "xb_test_116",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_116"
},
{
"srcTable": "xb_test_117",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_117"
},
{
"srcTable": "xb_test_118",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_118"
},
{
"srcTable": "xb_test_135",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_135"
}
],
"operator": "1504650005316516"
}
}
## message v2任務啟動表沒有超過500張
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"extensionBizId": "59d***50fc",
"extensionBizName": "sync_mysql_to_holo_20240911_170801",
"blockBusiness": true,
"operator": "19***735",
"setting": {
"lastStartPosition": "2024-09-11 12:00:00"
},
"eventCode": "start-diJob",
"jobId": 5777,
"forceRun": false,
"appId": 293624,
"showTableMapping": true,
"tenantId": 28***656,
"startAsV2": false,
"tableMapping": [
{
"srcTable": "test_verify1",
"dstDatasourceName": "molin_db",
"srcDatabaseName": "di_test",
"srcDatasourceName": "mysql_public",
"dstTable": "test_verify1"
},
{
"srcTable": "test_verify1_dst",
"dstDatasourceName": "molin_db",
"srcDatabaseName": "di_test",
"srcDatasourceName": "mysql_public",
"dstTable": "test_verify1_dst"
},
{
"srcTable": "mysql_0_timetest2",
"dstDatasourceName": "molin_db",
"srcDatabaseName": "di_test",
"srcDatasourceName": "mysql_public",
"dstTable": "mysql_0_timetest2"
}
]
}
}
##message v2任務啟動表超過500張 ,"showTableMapping": false
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "start-diJob",
"jobId": 5502,
"forceRun": false,
"extensionBizId": "f4c***7cbc",
"extensionBizName": "sync_mysql_to_holo_20240412_213634",
"appId": 330914,
"showTableMapping": false,
"tenantId": 28***656,
"blockBusiness": true,
"startAsV2": false,
"operator": "19***735",
"setting": {
"lastStartPosition": "2024-04-12 22:07:02",
"startDateTime": "2024-09-10 17:00:00",
"timeZone": "Asia/Shanghai"
}
}
}
##正則
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "start-diJob",
"jobId": 5778,
"forceRun": false,
"extensionBizId": "a5d***75ba",
"extensionBizName": "sync_mysql_to_holo_20240912_170517",
"appId": 293624,
"showTableMapping": true,
"tenantId": 28***656,
"blockBusiness": true,
"startAsV2": false,
"tableMapping": [
{
"srcTable": "test.*",
"dstDatasourceName": "molin_db",
"srcDatabaseName": ".*",
"srcDatasourceName": "mysql_public",
"dstTable": "aaa"
},
{
"srcTable": "shard.*",
"dstDatasourceName": "molin_db",
"srcDatabaseName": ".*",
"srcDatasourceName": "mysql_public",
"dstTable": "vvv"
}
],
"operator": "19***735"
}
}欄位說明如下:
欄位名稱 | 欄位類型 | 說明 |
projectId | Long | DataWorks專案空間ID。 |
operator | String | 操作使用者UID。 |
extensionBizName | String | 解決方案名稱。 |
showTableMapping | Boolean | 是否返回表Mapping資訊。
表超過500張,showTableMapping預設為 |
tableMapping | JSONArray | 表映射關係。 |
srcDatasourceName | String | 來源資料源名稱。 |
srcDatabaseName | String | 來源資料庫名稱。 |
srcTable | String | 源表名稱。 |
dstDatasourceName | String | 目標資料來源名稱。 |
dstTable | String | 目標表名稱。 |
tenantId | Long | 租戶ID。 |
eventCode | String | 擴充程式事件編碼。 |
節點變更事件-批量開啟任務
節點變更事件-批量開啟任務事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"needErrorMessage": false,
"extensionBizId": "2de***c4c6",
"extensionBizName": "sync_mysql_to_holo_20240911_170801,sync_mysql_to_odps_20240726_192307",
"errorMessageOnlyFailedFileIds": false,
"blockBusiness": true,
"env": "prod",
"operator": "15***516",
"setting": {
"startDateTime": "2024-09-12 14:00:00",
"timeZone": "Asia/Shanghai"
},
"jobIds": [
5777,
5679
],
"eventCode": "batch-start-diJob",
"tableMappings": [
{
"extensionBizName": "sync_mysql_to_holo_20240911_170801",
"id": 5777,
"tableMapping": [
{
"srcTable": "test_verify1",
"dstDatasourceName": "molin_db",
"srcDatabaseName": "di_test",
"srcDatasourceName": "mysql_public",
"dstTable": "test_verify1"
},
{
"srcTable": "test_verify1_dst",
"dstDatasourceName": "molin_db",
"srcDatabaseName": "di_test",
"srcDatasourceName": "mysql_public",
"dstTable": "test_verify1_dst"
},
{
"srcTable": "mysql_0_timetest2",
"dstDatasourceName": "molin_db",
"srcDatabaseName": "di_test",
"srcDatasourceName": "mysql_public",
"dstTable": "mysql_0_timetest2"
}
]
},
{
"extensionBizName": "sync_mysql_to_odps_20240726_192307",
"id": 5679,
"tableMapping": [
{
"srcTable": "xb_test_116",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_116"
},
{
"srcTable": "xb_test_117",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_117"
},
{
"srcTable": "xb_test_118",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_118"
},
{
"srcTable": "xb_test_135",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_135"
}
]
}
],
"appId": 293624,
"showTableMapping": true,
"tenantId": 52***018,
"projectId": 9***4
}
}欄位說明如下:
欄位名稱 | 欄位類型 | 說明 |
projectId | Long | DataWorks專案空間ID。 |
operator | String | 操作使用者UID。 |
extensionBizName | String | 解決方案名稱。 |
setting | JSONObject | 啟動配置項。 |
startDateTime | String | 啟動時間。 |
timeZone | String | 啟動時區。 |
tableMapping | JSONArray | 表映射關係。 |
srcDatasourceName | String | 來源資料源名稱。 |
srcDatabaseName | String | 來源資料庫名稱。 |
srcTable | String | 源表名稱。 |
dstDatasourceName | String | 目標資料來源名稱。 |
dstTable | String | 目標表名稱。 |
showTableMapping | Boolean | 是否返回表Mapping資訊。
表超過500張,showTableMapping預設為 |
tenantId | Long | 租戶ID。 |
eventCode | String | 擴充程式事件編碼。 |
營運中心事件列表
事件列表
事件類型 | 事件(及產生事件的操作) | 普通事件 | 擴充點事件 | EventBridge事件類型 (Type) | 擴充程式事件類型(eventCode) |
節點變更 | 刪除節點
|
|
|
|
|
節點下線前置事件 生產環境周期任務直接下線節點 說明 該操作會同步刪除資料開發中的節點,並清除。 |
|
|
|
| |
節點凍結前置事件 |
|
|
|
| |
節點解凍前置事件 |
|
|
|
| |
節點補資料 | 補資料前置事件 |
|
|
|
|
任務狀態變更 | 調度任務狀態變更 |
|
|
|
|
執行個體變更 | 凍結執行個體 |
|
|
|
|
解凍執行個體 |
|
|
|
| |
終止執行個體 |
|
|
|
| |
重跑執行個體
|
|
|
|
| |
置成功執行個體 |
|
|
|
| |
移除執行個體指定上遊依賴 |
|
|
|
| |
凍結執行個體前置事件 |
|
|
|
| |
解凍執行個體前置事件 |
|
|
|
| |
重跑執行個體前置事件 |
|
|
|
| |
置成功執行個體前置事件 |
|
|
|
| |
殺死執行個體前置事件 |
|
|
|
| |
刪除到期執行個體 |
|
|
|
| |
工作流程狀態變更 | 工作流程狀態變更
|
|
|
|
|
監控警示 | 監控警示 |
|
|
|
|
訊息格式
節點變更事件(刪除、下線、凍結、解凍)
節點刪除事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "nodeName": "", "programType": "ODPS_SQL", "cronExpress": "00 20 00 * * ?", "schedulerType": "NORMAL", "ownerId": "19****735", "priority": 1, "baselineId": 117801853, "repeatability": true, "modifyTime": 1646364549642, "createTime": 1646364549642, "datasource": "odps_source", "tenantId": 28378****10656, "nodeId": 100***150, "projectId": 30**95, "operator": "19***735" //本次操作人 } }欄位說明如下:
欄位名稱
欄位類型
說明
nodeName
String
節點名稱。
programType
String
檔案的代碼類型。可以調用ListFileType介面來查詢檔案的代碼類型,或查閱支援的節點類型查看檔案代碼類型。
cronExpress
String
周期調度的cron運算式。
該參數與DataWorks控制台中,資料開發任務的調度配置 > 時間屬性 > cron運算式對應。
配置完調度周期及定時調度時間後,DataWorks會自動產生相應cron運算式。樣本如下:
每天淩晨5點30分定時調度:
00 30 05 * * ?每個小時的第15分鐘定時調度:
00 15 * * * ?每隔十分鐘調度一次:
00 00/10 * * * ?每天8點到17點,每隔十分鐘調度一次:
00 00-59/10 8-17 * * * ?每月的1日0點20分自動調度:
00 20 00 1 * ?從1月1日0點10分開始,每過3個月調度一次:
00 10 00 1 1-12/3 ?每周二、周五的0點5分自動調度:
00 05 00 * * 2,5
說明cron運算式的限制如下:
最短調度間隔時間為5分鐘。
每天最早調度時間為0點5分。
schedulerType
String
任務執行個體的調度類型,取值如下:
0:NORMAL,正常調度任務。該任務會被日常調度。
1:MANUAL,手動任務。該任務不會被日常調度。
2:PAUSE,凍結任務。該任務被日常調度,但啟動調度時直接被置為失敗狀態。
3:SKIP,空跑任務。該任務被日常調度,但啟動調度時直接被置為成功狀態。
4:SKIP_UNCHOOSE,臨時工作流程中未選擇的任務,僅存在於臨時工作流程中,啟動調度時直接被置為成功狀態。
5:SKIP_CYCLE,未到運行周期的周或月任務。該任務被日常調度,但啟動調度時直接被置為成功狀態。
6:CONDITION_UNCHOOSE,上遊執行個體中有分支(IF)節點,但是該下遊節點未被分支節點選中,直接置為空白跑任務。
7:REALTIME_DEPRECATED,即時產生的已經到期的周期執行個體,該類型任務直接被置為成功狀態。
ownerId
String
節點責任人的阿里雲使用者ID。如果該參數為空白,則預設使用調用者的阿里雲使用者ID。
priority
Integer
任務優先順序,取值為1、3、5、7、8。數值越大,優先順序越高。
baselineId
Long
基準ID。
repeatability
Boolean
節點是否可以重複運行:
true:可以重複運行。
false:不可以重複運行。
modifyTime
Long
節點最近一次的修改時間。
createTime
Long
節點的建立時間。
nodeId
Long
節點ID。
projectId
Long
節點所在的專案空間ID。
tenantId
Long
節點所屬的租戶ID。
operator
String
新增、修改或刪除節點的使用者UID。
節點凍結、解凍、下線事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "operator": "19***735", "projectId": 12***56, "tenantId": 28***656, "nodeIds":[1,2,3], "extensionBizId": "12***56" } }欄位說明如下:
欄位名稱
欄位類型
說明
operator
String
凍結、解凍、下線節點的使用者UID。
projectId
Long
節點所在專案空間ID。
tenantId
Long
租戶ID。
nodeIds
Array
被操作的節點ID列表。
extensionBizId
String
擴充程式卡點流程ID。
節點補資料
補資料操作事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"excludeNodeIds":[],
"rootNodeId": 1000****271,
"startFutureInstanceImmediately": false,
"useMultipleTimePeriods": true,
"operator": "19***735",
"eventCode": "backfill-data",
"multipleTimePeriods": "[{\"bizBeginTime\":\"2022-04-17\",\"bizEndTime\":\"2022-04-17\"}]",
"parallelGroup": 1,
"rootNodeProjectId": 12*****8,
"isParallel": false,
"name": "P_fff_20220418_215404",
"tenantId": 16935*****3377,
"includeNodeIds":
[
10***271
],
"projectId": 9***4,
"order": "asc",
"extensionBizId": "12***56"
}
}欄位說明如下:
欄位名稱 | 欄位類型 | 說明 |
name | String | 補資料工作流程的名稱。 |
rootNodeId | Long | 補資料工作流程根節點ID。 |
rootNodeProjectId | Long | 補資料工作流程根節點所在的專案空間ID。 |
includeNodeIds | Array | 補資料的節點ID列表。 |
excludeNodeIds | Array | 無需補資料的節點ID列表。該列表中的節點會產生空跑執行個體,空跑執行個體被調度後直接運行成功,不會執行指令碼內容。 |
bizBeginTime | String | 任務的開始時間。僅小時調度任務需要設定該參數,格式為 |
bizEndTime | String | 任務的結束時間。僅小時調度任務需要設定該參數,格式為 |
isParallel | Boolean | 補資料操作是否可以並行運行:
|
parallelGroup | Integer | 並行啟動並執行分組數,1表示不分組。 |
startFutureInstanceImmediately | Boolean | 是否跳過調度時間,立即調度運行未來時間的執行個體:
|
order | String | 根據業務日期制定補資料啟動並執行順序:
|
multipleTimePeriods | String | 分段選取業務日期。樣本, |
tenantId | Long | 租戶ID。 |
projectId | Long | 補資料操作所在的專案ID。 |
operator | String | 執行補資料操作的使用者ID。 |
extensionBizId | String | 擴充程式卡點流程ID。 |
eventCode | String | 擴充程式事件編碼。 |
任務狀態變更事件
調度任務狀態變更事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"beginWaitTimeTime": 1652700576000,
"dagId": 446***330,
"dagType": 0,
"eventCode": "instance-status-changes",
"taskType": 0,
"modifyTime": 1652700577000,
"createTime": 1652543233000,
"appId": 3*****2,
"tenantId": 235454***432001,
"opCode": 31,
"flowId": 1,
"nodeId": 100***219,
"beginWaitResTime": 1652700577000,
"taskId": 453***169,
"status": 3
}
}欄位說明如下:
欄位名稱 | 欄位類型 | 說明 |
finishTime | Long | 調度任務執行個體運行完成的具體時間。 |
beginWaitTimeTime | Long | 調度任務執行個體開始等待啟動並執行具體時間。 |
beginRunningTime | Long | 調度任務執行個體開始啟動並執行具體時間。 |
dagId | Long | 根據 |
dagType | Integer | Dag的類型,取值如下:
|
taskType | Integer | 任務執行個體的調度類型,取值如下:
|
modifyTime | Long | 任務執行個體最近一次的修改時間。 |
createTime | Long | 任務執行個體的建立時間。 |
appId | Long | 工作空間的ID。您可以調用ListProjects查看空間ID資訊。 |
tenantId | Long | 調度任務執行個體所在工作空間的租戶ID。 |
opCode | Integer | 調度任務執行個體的作業碼。該欄位可忽略。 |
flowId | Long | 商務程序的ID。
|
nodeId | Long | 調度任務執行個體對應的節點ID。 |
beginWaitResTime | Long | 調度任務執行個體開始等待資源的具體時間。 |
taskId | Long | 調度任務執行個體的ID。 |
status | Integer | 任務的狀態,取值如下:
|
eventCode | String | 擴充程式事件編碼。 |
執行個體變更事件(凍結、解凍、終止、重跑、置成功)
執行個體變更事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "freeze-instance",
"operator": "19***735",
"projectId": 12***8,
"projectType": "PROD",
"taskIds": [
523***9736
],
"tenantId": 28***656
}
}欄位說明如下
欄位名稱 | 欄位類型 | 說明 |
operator | String | 操作執行個體(凍結、解凍、終止、重跑、置成功等操作)使用者的UID。 |
projectType | String | 運行環境。
|
taskIds | List<Long> | 執行個體的ID集合。 |
projectId | Long | DataWorks專案空間ID。 |
tenantId | Long | 執行個體所在工作空間的租戶ID。 |
eventCode | String | 事件編碼。 |
執行個體變更前置事件(凍結、解凍、重跑、置成功、殺死執行個體)
執行個體變更前置事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "pre-freeze-instance",
"extensionBizId": "055***afaa",
"extensionBizName": "節點名",
"projectId": 9***4,
"taskIds": [
523536569736
],
"tenantId": 28***656,
"operator": "19***735"
}
}欄位說明如下
欄位名稱 | 欄位類型 | 說明 |
extensionBizId | String | 擴充程式卡點流程ID。 |
extensionBizName | String | 操作對象名,多個對象會用”對象名...“進行描述。 |
projectId | Long | DataWorks專案空間ID。 |
taskIds | List<Long> | 執行個體的ID集合。 |
tenantId | String | 執行個體所在工作空間的租戶ID。 |
operator | Long | 操作執行個體的使用者UID。 |
eventCode | String | 擴充點事件編碼。 |
執行個體變更事件-刪除到期執行個體
刪除到期執行個體事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "expired-task-instances-deleted",
"deletedTaskInstanceIds": [
524***035,
524***498,
524***637
],
"appId": 307303,
"tenantId": 28***656,
"blockBusiness": false,
"owner": "1107***538",
"operationTime": 1734505954897
}
}欄位說明如下
欄位名稱 | 欄位類型 | 說明 |
deletedTaskInstanceIds | List | 被刪除的執行個體ID列表。 |
owner | String | 執行個體owner使用者ID。 |
operationTime | Long | 操作時間。 |
blockBusiness | Boolean | 存在擴充程式時,是否停止流程。
|
appId | Long | DataWorks專案空間ID。 |
tenantId | String | 執行個體所在工作空間的租戶ID。 |
operator | Long | 操作執行個體的使用者UID。 |
eventCode | String | 擴充點事件編碼。 |
移除執行個體指定上遊依賴關係事件
移除執行個體指定上遊依賴關係的訊息實體格式(即事件訊息中data欄位的內容)樣本如下:
{
"datacontenttype": "application/json;charset=utf-8",
"aliyunaccountid": "110******38",
"aliyunpublishtime": "2024-12-18T07:12:35.463Z",
"data": {
"eventCode": "delete-task-instance-dependencies",
"upstreamTaskInstanceIds": [
52******35,
52******98,
52******37
],
"appId": 3***03,
"tenantId": 52******36,
"blockBusiness": false,
"taskInstanceId": 52******49,
"operator": "19***735",
"operationTime": 1734505954897
}
}欄位說明如下:
欄位名稱 | 欄位類型 | 說明 |
taskInstanceId | Long | 下遊執行個體ID。 |
upstreamTaskInstanceIds | List | 移除依賴關係的上遊執行個體ID列表。 |
operator | String | 操作使用者UID。 |
operationTime | Long | 操作時間。 |
工作流程狀態變更事件
工作流程狀態變更事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"bizDate": "2022-11-07 00:00:00",
"createTime": "2022-11-08 10:56:32",
"dagId": 500358972116,
"dagName": "P_test_spark_true_copy_20221108_105631",
"eventCode": "dag-status-changes",
"dagType": 3,
"flowId": 1,
"flowName": "ATCLOUD_FLOW",
"operator": "11****538",
"projectEnv": "PROD",
"projectId": 25***63,
"status": 6,
"tenantId": 52***736
}
}欄位說明如下:
欄位名稱 | 欄位類型 | 說明 |
bizDate | String | 工作流程的業務日期。格式為 |
createTime | String | 工作流程的建立時間。格式為 |
dagId | Long | DagId,根據DagId可擷取Dag詳情。 |
dagName | String | 工作流程的名稱。 |
dagType | Integer | Dag的類型,取值如下:
|
flowId | Integer | 工作流程對應的商務程序ID。 |
flowName | String | 工作流程對應的商務程序名稱。 |
operator | String | 建立工作流程的使用者UID。 |
projectEnv | String | 工作流程所屬環境,取值如下:
|
tenantId | Long | 調度任務執行個體所在工作空間的租戶ID。 |
projectId | Long | 工作空間ID。 |
status | Integer | 工作流程中任務的狀態,取值如下:
|
eventCode | String | 擴充程式事件編碼。 |
監控警示
基準警示的訊息實體格式(即訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "workbench-monitor-alert", "alarmType": "SLA_ALERT", "baselineId": 137***723, "baselineName": "ods層check任務專用 -- 小時級", "baselineStatus": 3, "bizDate": 1654444800000, "inGroupId": 14, "nodeId": 1000***8734, "projectId": 76***34, "taskId": 307***3778, "tenantId": 28***656 } }欄位說明如下表。
欄位名稱
欄位類型
說明
alarmType
String
警示類型。取值如下:
SLA_ALERT
REMIND_ALERT
TOPIC_ALERT
baselineId
Long
基準ID。
baselineName
String
基準名稱。
baselineStatus
Integer
基準的狀態。取值如下:
-1:異常。
1:安全。
2:預警。
3:破線。
bizDate
Long
業務日期時間戳記。
inGroupId
Integer
基準執行個體的周期號。Apsara Infrastructure Management Framework線為
1,小時基準的取值範圍為[1,24]。nodeId
Long
導致基準異常的節點ID。
projectId
Long
基準所屬專案空間ID。
taskId
Long
導致基準異常的執行個體ID。
tenantId
Long
租戶ID。
eventCode
String
擴充程式事件編碼。
事件警示的訊息實體格式(即訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "alarmType": "TOPIC_ALERT", "nodeId": 1000***315, "projectId": 91***09, "taskId": 307***0357, "taskStatus": 5, "tenantId": 28***656, "topicId": 1084769 } }欄位說明如下表。
欄位名稱
欄位類型
說明
alarmType
String
警示類型。取值如下:
SLA_ALERT
REMIND_ALERT
TOPIC_ALERT
topicId
Long
事件的ID。
taskStatus
String
觸發事件的節點執行個體狀態。
nodeId
Integer
觸發事件的節點ID。
projectId
Long
觸發事件的節點所屬專案空間ID。
taskId
Long
觸發事件的節點執行個體ID。
tenantId
Long
租戶ID。
任務規則警示的訊息實體格式(即訊息中
data欄位的內容)樣本如下。說明通常,規則對象為任務節點、基準、工作空間、商務程序等。
{ "datacontenttype": "application/json;charset=utf-8", "data": { "alarmType": "REMIND_ALERT", "nodeIds": "1000***5472,1000***5473,1000***5474", "projectId": 9***4, "remindId": 7605, "remindName": "出錯警示", "remindType": "ERROR", "remindUnit": "NODE", "taskIds": "307***0896,307***0870,307***0855", "tenantId": 28***656 } }欄位說明如下表。
欄位名稱
欄位類型
說明
alarmType
String
警示類型。取值如下:
SLA_ALERT
REMIND_ALERT
TOPIC_ALERT
nodeIds
String
觸發規則警示的節點列表。
remindId
Long
規則ID。
remindType
Stirng
規則引發條件。取值如下:
FINISHED:完成。
UNFINISHED:未完成。
ERROR:運行出錯。
CYCLE_UNFINISHED:周期未完成。
TIMEOUT:運行逾時。
projectId
Long
觸發規則的節點所屬專案空間ID。
remindUnit
String
觸發規則的物件類型。取值如下:
NODE:任務節點。
GATEWAY_RES:獨享調度資源群組。
DI_RES:Data Integration資源群組。
tenantId
Long
租戶ID。
taskId
String
觸發規則警示的執行個體列表。
remindName
String
規則名稱。
資源群組規則警示的訊息實體格式(即訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "alarmType": "REMIND_ALERT", "projectId": 9***4, "remindId": 200***186, "remindName": "獨享資源群組警示", "remindType": "RES_GROUP_THRESHOLD", "remindUnit": "GATEWAY_RES", "resourceGroupIdentifier": "S_res_group_195820716552192_1650965857744", "resourceGroupName": "emr_exclusive_scheduld", "resourceGroupType": "GATEWAY", "tenantId": 28***656 } }欄位說明如下表。
欄位名稱
欄位類型
說明
alarmType
String
警示類型。取值如下:
SLA_ALERT
REMIND_ALERT
TOPIC_ALERT
remindId
Long
規則ID。
remindType
Stirng
規則引發條件。取值如下:
FINISHED:完成。
UNFINISHED:未完成。
ERROR:運行出錯。
CYCLE_UNFINISHED:周期未完成。
TIMEOUT:運行逾時。
RES_GROUP_THRESHOL:資源群組利用率。
RES_GROUP_WAIT_AMOUNT:資源群組等待資源執行個體數。
projectId
Long
觸發規則的節點所屬專案空間ID。
remindUnit
String
觸發規則的物件類型。取值如下:
NODE:任務節點。
GATEWAY_RES:獨享調度資源群組。
DI_RES:Data Integration資源群組。
tenantId
Long
租戶ID。
remindName
String
規則名稱。
resourceGroupIdentifier
String
資源群組的唯一識別碼。
resourceGroupName
String
資源群組名稱。
resourceGroupType
String
資源群組類型。取值如下:
GATEWAY:調度資源群組。
DI:Data Integration資源群組。
資訊安全中心事件列表
事件列表
事件類型 | 事件(及產生事件的操作) | 普通事件 | 擴充點事件 | EventBridge事件類型 (Type) | 擴充程式訊息類型(eventCode) |
核准中心 | 建立許可權申請單前置事件 |
|
|
|
|
完成申請單 |
|
|
|
| |
資訊安全中心(表許可權申請) | 表許可權申請前置事件 |
|
|
|
|
訊息格式
核准中心(建立、完成申請單)
建立許可權申請單前置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "appId":194209, "assignee":"286098539641742899", "assigneeName":"yupeng.sunyp", "createTime":1652094363000, "eventType":"approval", "process":{ "applicant":"286098539641742899", "applicantName":"yupeng.sunyp", "approvalContent":{ "applyPeriod":"2997964800000", "applyReason":"測試", "arrayData":[ { "ownerBaseId":"1822***45", "objectType":"TABLE", "odpsTable":"loghub_070103", "envType":1, "projectGuid":"odps.b_mc1", "objectGuid":"odps.b_mc1.loghub_070103", "tenantId":28***656, "objectName":"loghub_070103", "ownerAccountName":"ALIYUN$******(******)", "odpsProject":"B_MC1", "projectName":"B_MC1", "actions":[ "Select", "Describe" ], "projectId":9***4, "workspaceId":"9***4" } ], "contentType":"application/json", "granteeAccounts":[ { "granteeId":"2860985***99", "granteeTypeSub":103, "granteeType":1, "granteeName":"RAM$dataworks_3h1_1:yupeng.sunyp" }, { "granteeId":"237857631119109360", "granteeTypeSub":105, "granteeType":1, "granteeName":"RAM$dataworks_3h1_1:dev" } ], "odpsProjectName":"B_MC1", "projectEnv":"1", "resourceSummary":"loghub_070103", "tenantId":28***656, "workspaceId":194209 }, "assignmentCategory":"MaxCompute", "createTime":1652094363000, "processDefinitionId":"definition-3dcc9ce7-d29d-435d-a908-60d4355ff5e2", "processId":"528535869984706", "status":"Pending", "title":"MaxComputeTable", "updateTime":1652094363000 }, "processId":"528535869984706", "status":"Submit", "eventCode": "approval-change-created", "taskId":"528535870015424", "tenantId":28***656, "updateTime":1652094364000 } }{ "datacontenttype": "application/json;charset=utf-8", "data": { "appId":227859, "assignee":"286098539641742899", "eventCode": "approval-change-finished", "assigneeName":"******.******", "comments":"ces", "createTime":1652095981000, "eventType":"approval", "process":{ "applicant":"286098***2899", "applicantName":"yupeng.sunyp", "approvalContent":{ "applyPeriod":"2997964800000", "applyReason":"測試", "arrayData":[ { "ownerBaseId":"2382***884", "objectType":"TABLE", "odpsTable":"cdd", "objectNameCn":"******", "envType":1, "projectGuid":"odps.da_simple_202112", "objectGuid":"odps.da_simple_202112.cdd", "tenantId":0, "objectName":"cdd", "ownerAccountName":"RAM$******(******)", "odpsProject":"da_simple_202112", "projectName":"da_simple_202112", "actions":[ "Select", "Describe" ], "projectId":9***4, "workspaceId":"9***4" } ], "contentType":"application/json", "granteeAccounts":[ { "granteeId":"286***899", "granteeTypeSub":103, "granteeType":1, "granteeName":"RAM$dataworks_3h1_1:yupeng.sunyp" } ], "odpsProjectName":"da_simple_202112", "projectEnv":"1", "resourceSummary":"cdd", "tenantId":28***656, "workspaceId":227859 }, "assignmentCategory":"MaxCompute", "createTime":1652095981000, "processDefinitionId":"definition-6e6418e6-c65f-4f26-a673-88576b1c1e4a", "processId":"528***192", "status":"Pending", "title":"MaxComputeTable", "updateTime":1652095981000 }欄位說明如下:
欄位名稱
欄位類型
說明
appId
Long
工作空間ID。
assignee
String
審批單處理人的BaseId。
assigneeName
String
審批單處理人的名稱。
comments
String
備忘資訊。
createTime
Long
審批單的建立時間戳記。
processId
String
審批單的ID。
status
String
審批單的狀態。
taskId
String
審批任務的ID。
tenantId
String
租戶ID。
updateTime
String
審批單更新的時間戳記。
eventType
String
事件類型。
process
Object
審批任務對象。
applicant
String
申請BaseID。
applicantName
String
申請人名稱。
assignmentCategory
String
申請內容類型。
createTime
String
審批單建立的時間戳記。
processDefinitionId
String
工作流程定義ID。
processId
String
工作流程ID。
status
String
工作流程狀態。
title
String
工作流程標題。
updateTime
Long
審批單更新的時間戳記。
approvalContent
Object
審批內容對象。
applyPeriod
String
審批單的申請時間長度。
applyReason
String
審批單的申請原因。
contentType
String
審批內容類型。
odpsProjectName
String
審批專案名稱。
resourceSummary
String
資源描述。
tenantId
Long
租戶ID。
workspaceId
Long
工作空間ID。
projectEnv
String
審批專案所屬環境。
granteeAccounts
Array
授權列表。
.granteeId
String
授權主體ID。
granteeType
String
授與類型。
granteeTypeSub
String
授權主體子類型。
granteeName
String
授權主體名稱。
arrayData
Array
授權內容列表,詳情請參見開發參考:事件列表與訊息格式。
eventType
String
事件類型。
完成審批單事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "appId": 227859, "assignee": "286098539641742899", "eventCode": "approval-change-finished", "assigneeName": "******.******", "comments": "ces", "createTime": 1652095981000, "eventType": "approval", "process": { "applicant": "2860****899", "applicantName": "yupeng.sunyp", "approvalContent": { "applyPeriod": "2997***0000", "applyReason": "測試", "arrayData": [ { "ownerBaseId": "2382***8*884", "objectType": "TABLE", "odpsTable": "cdd", "objectNameCn": "******", "envType": 1, "projectGuid": "odps.da_simple_202112", "objectGuid": "odps.da_simple_202112.cdd", "tenantId": 0, "objectName": "cdd", "ownerAccountName": "RAM$******(******)", "odpsProject": "da_simple_202112", "projectName": "da_simple_202112", "actions": [ "Select", "Describe" ], "projectId": 9***4, "workspaceId": "9***4" } ], "contentType": "application/json", "granteeAccounts": [ { "granteeId": "286***899", "granteeTypeSub": 103, "granteeType": 1, "granteeName": "RAM$dataworks_3h1_1:yupeng.sunyp" } ], "odpsProjectName": "da_simple_202112", "projectEnv": "1", "resourceSummary": "cdd", "tenantId": 28***656, "workspaceId": 227859 }, "assignmentCategory": "MaxCompute", "createTime": 1652095981000, "processDefinitionId": "definition-6e6418e6-c65f-4f26-a673-88576b1c1e4a", "processId": "528***192", "status": "Pending", "title": "MaxComputeTable", "updateTime": 1652095981000 } } }欄位說明如下:
欄位名稱
欄位類型
說明
appId
Long
工作空間ID。
assignee
String
審批單處理人BaseId。
assigneeName
String
審批單處理人名稱。
comments
String
備忘資訊。
createTime
Long
審批單的建立時間戳記。
processId
String
審批單ID。
status
String
審批單狀態。
taskId。
String
審批任務ID。
tenantId
String
租戶ID。
updateTime
String
審批單最近一次更新的時間戳記。
eventType
String
事件類型。
process
Object
審批任務對象。
applicant
String
申請BaseID。
applicantName
String
申請人名稱。
assignmentCategory
String
申請內容類型。
createTime
String
審批單建立的時間戳記。
processDefinitionId
String
工作流程定義ID。
processId
String
工作流程ID。
status
String
工作流程狀態。
title
String
工作流程標題。
updateTime
Long
審批單更新的時間戳記。
approvalContent
Object
審批內容對象。
applyPeriod
String
申請時間長度。
applyReason
String
申請原因。
contentType
String
內容類型。
odpsProjectName
String
專案名稱。
resourceSummary
String
資源描述。
tenantId
Long
租戶ID。
workspaceId
Long
工作空間ID。
projectEnv
String
所屬環境。
granteeAccounts
Array
授權列表。
granteeId
String
授權主體ID。
granteeType
String
授與類型。
granteeTypeSub
String
授權主體子類型。即授權帳號類型,具體如下:
生產雲帳號(生產調度使用的帳號):ACCOUNT_PRD(101)
應用雲帳號:ACCOUNT_APP(102)
個人云帳號:ACCOUNT_USER(103)
部門雲帳號:ACCOUNT_DEPT(104)
MOCK帳號:ACCOUNT_MOCK(106)
他人云帳號:ACCOUNT_OTHER_USER(105)
granteeName
String
授權主體名稱。
arrayData
Array
授權內容列表,詳情請參見開發參考:事件列表與訊息格式。
eventType
String
事件類型。
資訊安全中心(表許可權申請前置事件)
表許可權申請前置事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventType": "approval-create-before",
"operator":"19***735",
"order":{
"applyReason":"測試",
"deadlineDate":"1",
"deadlineType":"month",
"granteeObjectList":[
{
"granteeId":"1239****8872"
}
],
"projectMeta":{
"envCode":1,
"labelSecurity":false,
"objectMetaList":[
{
"action":[
"Select",
"Describe"
],
"name":"tablei",
"projectGuid":"odps.d11aa"
}
],
"projectId":2****0,
"projectName":"d11aa"
}
},
"projectId":2****0,
"tenantId":5564****6465
}
}欄位說明如下:
欄位名稱 | 欄位類型 | 說明 |
operator | String | 執行表許可權申請前置操作的使用者UID。 |
projectId | Long | 執行表許可權申請前置操作的工作空間ID。 |
tenantId | Long | 執行表許可權申請前置操作的租戶ID。 |
order | Object | 申請單資訊。 |
applyReason | String | 申請原因。 |
deadlineDate | String | 申請單有效期間。 |
deadlineType | String | 申請單有效期間的時間單位。例如,Day、Month。 |
granteeObjectList | Object | 授權對象列表。 |
granteeId | String | 授權對象ID,即RAM使用者ID。 |
projectMeta | Object | 工作空間資訊。 |
envCode | Integer | 工作空間環境標識,0表示開發環境,1表示生產環境。 |
labelSecurity | Boolean | 是否開啟Label層級管控:
|
objectMetaList | Array | 授權對象列表。 |
action | Array | 授權動作。例如,授權擁有表的Select或Describe許可權。 |
name | String | 待申請許可權的表名稱。 |
projectGuid | String | 表所在工作空間Guid。 |
projectName | String | 表所在工作空間名稱。 |
eventType | String | 事件類型。 |
附錄:授權內容列表(MaxCompute)
DataWorks在資訊安全中心事件中,觸發審批和表許可權申請時,觸發的事件訊息發送至事件匯流排(EventBridge)訊息之中會增加arrayData資料,當assignmentCategory類型為MaxCompute時,arrayData的資料內容如下:
{
"ownerBaseId":"1822931104031845",
"objectType":"TABLE",
"odpsTable":"oracle_************",
"envType":1,
"projectGuid":"odps.***********",
"objectGuid":"odps.******.******",
"tenantId":0,
"objectName":"oracle_******",
"ownerAccountName":"ALIYUN***************",
"odpsProject":"dataworks******",
"projectName":"dataworks******",
"actions":[
"Select",
"Describe"
],
"projectId":9***4,
"workspaceId":"9***4"
}欄位說明如下:
欄位名稱 | 欄位類型 | 說明 |
ownerBaseId | String | 表所有者的BaseID。 |
ownerAccountName | String | 表所有者的名稱。 |
objectType | String | 物件類型。 |
odpsTable | String | 表名稱。 |
envType | String | 表所屬環境。 |
projectGuid | String | 專案Guid。 |
objectGuid | String | 對象Guid。 |
objectName | String | 對象名稱。 |
odpsProject | String | ODPS專案名稱。 |
projectName | String | 專案代碼。 |
projectId | Long | 專案ID。 |
workspaceId | String | 工作空間ID。 |
actions | Array | 操作類型列表。 |
附錄:授權內容列表(DataService)
DataWorks在資訊安全中心事件中,觸發審批以及表許可權申請時,發送至事件匯流排(EventBridge)訊息中會增加arrayData資料,當assignmentCategory類型為DataService時,arrayData的資料內容如下
{
"resourceId":"DsApiDeploy/******/workspaceId/******/dsDeployId/******",
"ownerName":"******",
"resourceVersion":1,
"name":"api_api",
"dsDeployId":"******",
"workspaceName":"da_******",
"id":"******",
"type":1,
"ownerId":"19****735",
"url":"https://******.data.aliyun.com/?projectId=******&type=api&id=******&version=***&defaultProjectId=******",
"workspaceId":"******"
}欄位說明如下:
欄位名稱 | 欄位類型 | 說明 |
resourceId | String | 資源ID。 |
ownerName | String | 資源所有者的名稱。 |
resourceVersion | Long | 資源版本。 |
name | String | 資源名稱。 |
dsDeployId | String | 資料服務發布ID。 |
workspaceName | String | 工作空間名稱。 |
id | String | 資源唯一ID。 |
type | String | 資源類型,取值如下:
|
ownerId | String | 資源責任人BaseID。 |
url | String | 資料服務連結地址。 |
workspaceId | String | 工作空間ID。 |
資料品質事件列表
事件列表
事件類型 | 事件(及產生事件的操作) | 普通事件 | 擴充點事件 | EventBridge事件類型 (Type) | 擴充程式事件類型(eventCode) |
資料品質校正 | 校正結果反饋
|
|
|
| |
校正完成
|
|
|
|
| |
資料品質規則前置 | 大量建立資料品質規則前置事件 |
|
|
|
|
批次更新資料品質規則前置事件 |
|
|
|
| |
大量刪除資料品質規則前置事件 |
|
|
|
| |
更新資料品質規則前置事件 |
|
|
|
| |
資料品質監控前置 | 建立資料品質監控前置事件 |
|
|
|
|
更新資料品質監控前置事件 |
|
|
|
| |
複製資料品質監控前置事件 |
|
|
|
| |
大量刪除資料品質監控前置事件 |
|
|
|
| |
資料品質監控警示訂閱前置 | 建立資料品質監控警示訂閱前置事件 |
|
|
| create-data-quality-evaluation-task-notification |
更新資料品質監控警示訂閱前置事件 |
|
|
|
| |
刪除資料品質監控警示訂閱前置事件 |
|
|
|
|
訊息格式
資料品質校正
資料品質校正結果反饋事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "ruleCheckId": 521771452, "feedbackContent": "跳過", "ruleId": 28610334, "createUser": "110755000425****", "taskId": "167644814****9a26ecf4063a88797", "beginTime": "1676448145000", "envType": "ODPS", "projectName": "test_mc_2303_kongjian", "projectId": 9***4, "tenantId": 28***656 } }重要欄位說明如下表。
欄位名稱
欄位類型
說明
ruleId
Long
資料品質規則ID。
ruleCheckId
Long
校正結果自增ID。
feedbackContent
String
反饋內容。
createUser
String
反饋人使用者ID。
taskid
String
資料品質任務的ID。
beginTime
String
反饋時間。
envType
String
規則關聯的表所屬資料來源類型,包括:ODPS、EMR、HOLO。
projectName
String
規則關聯的表所屬的資料來源唯一標識。
projectId
Long
DataWorks專案空間ID。
tenantId
Long
DataWorks租戶ID。
資料品質校正完成事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "projectId": 9***4, "tenantId": 28***656, "id": 52177****, "taskId": "1671***7a6", "entityId": 1562***, "ruleId": 28610334, "property": "-", "bizdate": "2023-02-09 00:00:00", "dateType": "YMD", "actualExpression": "ds\u003d20230210", "matchExpression": "ds\u003d$[yyyymmdd]", "blockType": 1, "checkResult": 0, "eventCode": "dqc-check-finished-event", "checkResultStatus": 0, "methodName": "table_count", "beginTime": "2023-02-15 20:14:48", "endTime": "2023-02-15 20:14:55", "timeConsuming": "7s", "externalType": "CWF2", "externalId": "triggerByManual", "discrete": false, "fixedCheck": true, "referenceValue": [ { "bizDate": "3000-12-31 00:00:00", "discreteProperty": "錶行數,1天差值", "value": 0.0, "singleCheckResult": 0 } ], "sampleValue": [ { "bizDate": "2023-02-09 00:00:00", "value": 3.0 } ], "trend": "\u003e\u003d", "expectValue": 0.0, "op": "\u003e\u003d", "projectName": "test_mc_2303_kongjian", "tableName": "sx_dim_1209_001", "templateId": 47, "checkerType": 0, "ruleName": "前一天差值", "isPrediction": false, "feedbackStatus": 0, "whetherToFilterDirtyData": false } }欄位說明如下:
欄位名稱
欄位類型
說明
id
Long
本次校正流程的主鍵ID。每觸發一次規則校正,都會新增一條主鍵ID記錄。
projectId
Long
DataWorks專案空間ID
tenantId
Long
DataWorks租戶ID
taskId
String
校正任務的ID。
entityId
Long
分區運算式ID。
ruleId
Long
規則ID。
property
String
規則屬性的欄位,即被校正資料來源表的column名稱。
bizdate
Long
業務日期。如果被校正的業務主體為離線資料,則業務日期通常為執行校正操作的前一天。
dateType
String
調度周期的類型。通常為YMD,即年任務、月任務、天任務。
actualExpression
String
被校正的資料來源表的實際分區。
matchExpression
String
分區運算式。
blockType
Integer
校正規則的強弱。強弱表示規則的重要程度。取值如下:
1,表示強規則。
0,表示弱規則。
您可以根據實際需求設定重要的規則為強規則。如果使用強規則並觸發了紅色警示,則會阻塞調度任務。
checkResult
Integer
校正結果狀態。取值如下:
-1:校正異常
0:校正通過
1:觸發橙色閾值
2:觸發紅色閾值
methodName
String
採集樣本資料的方法包括:avg、count、sum、min、max、count_distinct、user_defined、table_count、table_size、table_dt_load_count、table_dt_refuseload_count、null_value、null_value/table_count、(table_count-count_distinct)/table_count、table_count-count_distinct等。
beginTime
Long
執行校正操作的開始時間。
endTime
Long
查詢校正結果的截止時間。
timeConsuming
String
執行校正任務花費的時間。
externalType
String
調度系統的類型。目前僅支援CWF2。如果externalType為空白則表示是手動試跑任務。
externalId
String
externalType為CWF2時,表示調度任務的節點ID。
externalType為空白時,取值為triggerByManual,表示為手動觸發任務。
discrete
Boolean
是否為離散校正。取值如下:
true:是離散校正。
false:非離散校正。
fixedCheck
Boolean
是否為固定值校正。取值如下:
true:是固定值校正。
false:非固定值校正。
referenceValue
歷史樣本值。
bizDate
Long
業務日期。如果被校正的業務主體為離線資料,則業務日期通常為執行校正操作的前一天。
discreteProperty
String
通過group by分組後的樣本欄位取值。例如group by性別欄位,則DiscreteProperty為男生、女生和null。
value
Decimal
樣本值。
singleCheckResult
Integer
校正結果的字串。
sampleValue
當前使用的樣本。
bizDate
Long
業務日期。如果被校正的業務主體為離線資料,則業務日期通常為執行校正操作的前一天。
value
Decimal
樣本值。
trend
String
校正結果的趨勢。
expectValue
Double
期望值。
op
String
比較符。
projectName
String
需要進行資料品質校正的引擎或者資料來源名稱。
tableName
String
進行校正的表名稱。
templateId
Integer
使用的校正模板的ID。
checkerType
Integer
校正器的類型。
ruleName
String
規則的名稱。
isPrediction
Boolean
是否為預測的結果。取值如下:
true:是預測的結果。
false:不是預測的結果。
comment
String
校正規則的描述。
eventCode
String
擴充程式事件編碼。
資料品質規則前置事件(大量建立、更新、刪除)
大量建立資料品質規則前置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "batch-create-data-quality-rules", "projectId": 30***03, "tenantId": 28***656, "operator": "19***735", "operationTime": 1734505954897, "dataQualityTaskId": 1001, "target": { "databaseType": "maxcompute", "tableGuid": "odps.project_demo.tb_table_demo" }, "rules": [ { "name": "錶行數大於0", "enabled": true, "severity": "High", "description": "資料品質規則建立操作檢查測試", "templateCode": "system:table:table_count:fixed:0", "samplingConfig": { "metric": "count" }, "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 0" }, "critical": { "expression": "$checkValue <= 0" } } } } ] } }重要欄位說明如下表。
欄位名稱
欄位類型
說明
projectId
List
DataWorks專案空間ID。
operator
String
操作使用者UID。
operationTime
Long
操作時間。
dataQualityTaskId
Long
規則關聯的資料品質監控ID,可為空白。
target
DataQualityTarget
資料品質規則的監控對象。
databaseType
String
表類型的資料集,表所屬的資料庫類型。
MaxCompute
EMR
CDH
Hologres
AnalyticDB for PostgreSQL
tableGuid
String
表在資料地圖中的唯一ID。
rules
List<DataQualityRule>
資料品質規則列表。
name
String
規則名稱。
enabled
Boolean
規則是否啟用。
severity
String
規則對於業務的等級(對應頁面上的強弱規則)。
High
Normal
description
String
規則描述資訊。
templateCode
String
建立規則時所引用的規則模板
samplingConfig
SamplingConfig
樣本採集所需的設定。
metric
String
採樣的指標名稱。
Count:錶行數
Min:欄位最小值
Max:欄位最大值
Avg:欄位均值
DistinctCount:欄位唯一值個數
DistinctPercent:欄位唯一值個數與資料行數佔比
DuplicatedCount:欄位重複值個數
DuplicatedPercent:欄位重複值個數與資料行數佔比
TableSize:表大小
NullValueCount:欄位為空白的行數
NullValuePercent:欄位為空白的比例
GroupCount:按欄位值彙總後每個值與對應的資料行數
CountNotIn:枚舉值不匹配行數
CountDistinctNotIn:枚舉值不匹配唯一值個數
UserDefinedSql:通過自訂SQL做樣本採集
checkingConfig
CheckingConfig
樣本校正設定。
type
String
閾值計算方式
Fixed
Fluctation
FluctationDiscreate
Auto
Average
Variance
thresholds
Thresholds
閾值設定。
expected
Threshold
期望的閾值設定。
expression
String
閾值運算式。
critical
Threshold
嚴重警告的閾值設定。
批次更新資料品質規則前置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "update-data-quality-rule", "projectId": 30***03, "tenantId": 28***656, "operator": "19***735", "operationTime": 1734505954897, "id": 100001, "name": "錶行數大於0", "enabled": true, "severity": "High", "description": "資料品質規則建立操作檢查測試", "templateCode": "system:table:table_count:fixed:0", "samplingConfig": { "metric": "count" }, "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 0" }, "critical": { "expression": "$checkValue <= 0" } } } } }重要欄位說明如下表。
欄位名稱
欄位類型
說明
eventCode
String
事件編碼。
projectId
Long
專案空間ID。
tenantId
Long
租戶ID。
operator
String
使用者UID。
operationTime
Long
操作時間。
id
Long
規則ID。
name
String
規則名稱。
enabled
Boolean
規則是否啟用。
true:啟用。
false:不啟用。
severity
String
規則對於業務的等級(對應頁面上的強弱規則)。
High
Normal
description
String
規則描述資訊。
templateCode
String
分區表的分區設定。
samplingConfig
SamplingConfig
樣本採集所需的設定。
metric
String
採樣的指標名稱。
Count:錶行數
Min:欄位最小值
Max:欄位最大值
Avg:欄位均值
DistinctCount:欄位唯一值個數
DistinctPercent:欄位唯一值個數與資料行數佔比
DuplicatedCount:欄位重複值個數
DuplicatedPercent:欄位重複值個數與資料行數佔比
TableSize:表大小
NullValueCount:欄位為空白的行數
NullValuePercent:欄位為空白的比例
GroupCount:按欄位值彙總後每個值與對應的資料行數
CountNotIn:枚舉值不匹配行數
CountDistinctNotIn:枚舉值不匹配唯一值個數
UserDefinedSql:通過自訂SQL做樣本採集
checkingConfig
CheckingConfig
樣本校正設定。
type
String
閾值計算方式
Fixed
Fluctation
FluctationDiscreate
Auto
Average
Variance
thresholds
Thresholds
閾值設定。
expected
Threshold
期望的閾值設定。
expression
String
閾值運算式。
critical
Threshold
嚴重警告的閾值設定。
大量刪除資料品質規則前置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "batch-delete-data-quality-rules", "ids": [ 10***01, 10***02, 10***03 ], "projectId": 30***03, "tenantId": 524***4736, "operator": "19***735", "operationTime": 1734505954897 } }重要欄位說明如下表。
欄位名稱
欄位類型
說明
projectId
List
DataWorks專案空間ID。
operator
String
操作使用者UID。
operationTime
Long
操作時間。
ids
List<Long>
被刪除的資料品質規則ID列表。
tenantId
String
租戶ID。
eventCode
String
事件編碼。
更新資料品質規則前置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "update-data-quality-rule", "projectId": 30***03, "tenantId": 524***4736, "operator": "110***3538", "operationTime": 1734505954897, "id": 100001, "name": "錶行數大於0", "enabled": true, "severity": "High", "description": "資料品質規則建立操作檢查測試", "templateCode": "system:table:table_count:fixed:0", "samplingConfig": { "metric": "count" }, "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 0" }, "critical": { "expression": "$checkValue <= 0" } } } } }重要欄位說明如下表。
欄位名稱
欄位類型
說明
eventCode
String
事件編碼。
projectId
Long
專案空間ID。
tenantId
Long
租戶ID。
operator
String
使用者UID。
operationTime
Long
操作時間。
id
Long
規則ID。
name
String
規則名稱。
enabled
Boolean
規則是否啟用。
true:啟用。
false:不啟用。
severity
String
規則對於業務的等級(對應頁面上的強弱規則)。
High
Normal
description
String
規則描述資訊。
templateCode
String
分區表的分區設定。
samplingConfig
SamplingConfig
樣本採集所需的設定。
metric
String
採樣的指標名稱。
Count:錶行數
Min:欄位最小值
Max:欄位最大值
Avg:欄位均值
DistinctCount:欄位唯一值個數
DistinctPercent:欄位唯一值個數與資料行數佔比
DuplicatedCount:欄位重複值個數
DuplicatedPercent:欄位重複值個數與資料行數佔比
TableSize:表大小
NullValueCount:欄位為空白的行數
NullValuePercent:欄位為空白的比例
GroupCount:按欄位值彙總後每個值與對應的資料行數
CountNotIn:枚舉值不匹配行數
CountDistinctNotIn:枚舉值不匹配唯一值個數
UserDefinedSql:通過自訂SQL做樣本採集
checkingConfig
CheckingConfig
樣本校正設定。
type
String
閾值計算方式
Fixed
Fluctation
FluctationDiscreate
Auto
Average
Variance
thresholds
Thresholds
閾值設定。
expected
Threshold
期望的閾值設定。
expression
String
閾值運算式。
critical
Threshold
嚴重警告的閾值設定。
資料品質監控前置事件(建立、更新、複製、大量刪除)
建立、更新資料品質監控前置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "create-data-quality-evaluation-task", "name": "表資料準確性監控", "description": "向表中寫入資料的調度執行個體成功執行後,觸發監控,檢查產出資料是否符合預期", "target": { "databaseType": "emr", "tableGuid": "an-emr-table-guid" }, "trigger": { "type": "ByScheduledTaskInstance", "taskIds": [ 1001, 1002 ] }, "dataSourceId": 201, "runtimeConf": "{ \"queue\": \"default\", \"sqlEngine\": \"HIVE_SQL\" }", "rules": [ { "name": "錶行數大於0", "enabled": true, "severity": "High", "description": "資料品質規則建立操作檢查測試", "templateCode": "system:table:table_count:fixed:0", "samplingConfig": { "metric": "count" }, "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 0" }, "critical": { "expression": "$checkValue <= 0" } } } }, { "id": 100002 "name": "錶行數大於100", "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 100" }, "critical": { "expression": "$checkValue <= 100" } } } } ], "hooks": [ { "type": "BlockTaskInstance", "condition": "(${severity} == \"High\" AND ${status} == \"Critical\") OR (${severity} == \"High\" AND ${status} == \"Error\")" } ], "notifications": { "condition": "(${severity} == \"High\" AND ${status} == \"Warned\") OR (${severity} == \"Normal\" AND ${status} == \"Critical\") OR (${severity} == \"Normal\" AND ${status} == \"Warned\") OR (${severity} == \"Normal\" AND ${status} == \"Error\")", "notifications": [ { "channels": [ "Mail", "Sms" ], "notificaionReceivers": [ { "receiverType": "AliUid", "receiverValues": [ "1107550004253538", "51107550004253538" ] } ] }, { "channels": [ "Dingding" ], "notificaionReceivers": [ { "receiverType": "DingdingUrl", "receiverValues": [ "https://api.dingding.com/message-boxes/b1/messages", "https://api.dingding.com/message-boxes/b2/messages" ], "extension": "{ \"atAll\": true }" } ] } ] }, "projectId": 30***03, "tenantId": 524***4736, "operator": "110***3538", "operationTime": 1734505954897 } }重要欄位說明如下表。
欄位名稱
欄位類型
說明
eventCode
String
事件編碼。
name
String
品質監控任務名稱。
description
String
資料品質校正任務描述。
target
DataQualityTarget
資料品質校正任務的監控對象。
databaseType
String
表類型的資料集,表所屬的資料庫類型。
MaxCompute
EMR
CDH
Hologres
AnalyticDB for PostgreSQL
tableGuid
String
表在資料地圖中的唯一ID。
trigger
DataQualityEvaluationTaskTrigger
資料品質校正任務的觸發配置。
type
String
何種事件可以觸發品質校正任務執行。
ByScheduledTaskInstance:調度執行個體運行成功,只支援公用雲情境。
ByManual:手動觸發。
taskIds
Array<Long>
type=ByScheduledTaskInstance時生效,具體指明哪些調度節點的執行個體執行成功後可以觸發。
dataSourceId
Long
資料品質校正任務執行時應使用的資料來源。
runtimeConf
String
使用資料來源時的設定,目前只支援指定EMR的yarn隊列、採集EMR表時把SQL引擎指定為SPARK-SQL。
rules
List<DataQualityRule>
資料品質規則列表。更多參數詳情請參見資料品質規則前置事件參數。
hooks
Array<DataQualityEvaluationTaskHook>
資料品質校正任務執行個體生命週期中的回調設定,目前只支援一個阻塞調度任務的Hook。
type
String
後續處理動作類型。
BlockTaskInstance:阻塞DataWorks任務執行個體執行。
condition
String
Hook觸發條件。
notifications
Array<Notification>
具體的訊息通知設定。
projectId
Long
專案空間ID。
tenantId
Long
租戶ID。
operator
String
操作使用者UID。
operationTime
Long
操作時間。
複製資料品質監控前置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "clone-data-quality-evaluation-task", "id": 10001, "targets": [ { "databaseType": "emr", "tableGuid": "an-emr-table-guid" }, { "databaseType": "emr", "tableGuid": "another-emr-table-guid" } ], "projectId": 9***4, "tenantId": 28***656, "operator": "19***735", "operationTime": 1734505954897 } }重要欄位說明如下表。
欄位名稱
欄位類型
說明
projectId
Long
DataWorks專案空間ID。
tenantId
String
租戶ID。
operator
String
操作使用者UID。
operationTime
Long
操作時間。
targets
List<DataQualityTarget>
要複製到的資料品質監控目標。
databaseType
String
表類型的資料集,表所屬的資料庫類型。
MaxCompute
EMR
CDH
Hologres
AnalyticDB for PostgreSQL
tableGuid
String
表在資料地圖中的唯一ID。
id
Long
用來複製的來源資料品質監控ID。
eventCode
String
事件編碼。
大量刪除資料品質監控前置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "batch-delete-data-quality-evaluation-tasks", "ids": [ 10001, 10002 ], "projectId": 9***4, "tenantId": 28***656, "operator": "19***735", "operationTime": 1734505954897 } }重要欄位說明如下表。
欄位名稱
欄位類型
說明
projectId
Long
DataWorks專案空間ID。
operator
String
操作使用者UID。
operationTime
Long
操作時間。
ids
List<Long>
被刪除的資料品質監控ID列表。
tenantId
String
租戶ID。
eventCode
String
事件編碼。
資料品質監控警示訂閱前置事件(建立、更新、刪除)
建立、刪除資料品質監控警示訂閱前置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "create-data-quality-evaluation-task-notification", "dataQualityEvaluationTaskId": 10001, "channel": "sms", "receiverValue": "1107***38", "projectId": 30***03, "operator": "110***3538", "operationTime": 1734505954897 } }重要欄位說明如下表。
欄位名稱
欄位類型
說明
projectId
Long
DataWorks專案空間ID。
operator
String
操作使用者UID。
operationTime
Long
操作時間。
dataQualityEvaluationTaskId
Long
資料品質監控ID。
channel
String
訂閱訊息發送目標渠道類型。
Mail - 郵件
Sms - 簡訊
Phone - 電話
Feishu - 飛書
Weixin - 微信
Dingding - DingTalk
Webhook - 自訂Webhook
receiverValue
String
訂閱訊息發送的具體目標。
eventCode
String
事件編碼。
更新資料品質監控前置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "update-data-quality-evaluation-task-notification", "dataQualityEvaluationTaskId": 10001, "currentChannel": "sms", "currentReceiverValue": "1107***538", "updatedChannel": "sms", "updatedReceiverValue": "1107***538", "projectId": 30***03, "operator": "110***3538", "operationTime": 1734505954897 }重要欄位說明如下表。
欄位名稱
欄位類型
說明
projectId
Long
DataWorks專案空間ID。
operator
String
操作使用者UID。
operationTime
Long
操作時間。
dataQualityEvaluationTaskId
Long
資料品質監控ID。
currentChannel
String
被更新的訂閱訊息發送目標渠道類型。
Mail - 郵件
Sms - 簡訊
Phone - 電話
Feishu - 飛書
Weixin - 微信
Dingding - DingTalk
Webhook - 自訂Webhook
currentReceiverValue
String
被更新的訂閱訊息發送的具體目標。
updatedChannel
String
更新後的訂閱訊息發送目標渠道類型。
Mail - 郵件
Sms - 簡訊
Phone - 電話
Feishu - 飛書
Weixin - 微信
Dingding - DingTalk
Webhook - 自訂Webhook
updatedReceiverValue
String
更新後的訂閱訊息發送的具體目標。
eventCode
String
事件編碼。
租戶級事件
租戶級模組產生的是租戶級事件,例如管控台刪除空間所產生的事件訊息。您可通過下文事件列表瞭解各個模組支援的事件訊息中,哪些為普通事件,哪些為擴充點事件,以及對應事件的發送的訊息格式。
以下訊息格式頁簽僅包含部分內容,發送給EventBridge或Function Compute的完整訊息,您需要結合附錄:訊息格式。
管控台事件列表
事件列表
事件類型 | 事件(及產生事件的操作) | 普通事件 | 擴充點事件 | EventBridge事件類型(Type) | 擴充程式事件類型(eventCode) |
刪除專案空間 | 刪除專案空間前置事件 |
|
|
|
|
刪除空間後置 |
|
|
|
|
訊息格式
訊息實體格式:刪除專案空間事件
租戶刪除專案空間前置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "data": { "eventCode": "delete-project", "projectId": 7***7, // 工作空間ID "tenantId": 2807****0784, // 租戶ID "operator": "19***735 }欄位說明如下:
欄位名稱
欄位類型
說明
operator
String
刪除DataWorks工作空間的使用者UID。
projectId
Long
待刪除的DataWorks工作空間ID。
tenantId
Long
待刪除工作空間所屬的租戶ID。
eventCode
String
擴充程式事件編碼。
租戶刪除專案空間後置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "data": { "eventCode": "project-deleted", "tenantId": 28***656, "blockBusiness": false, "projectName": "test2", "projectId": 9***4, "operator": "19***735", "timestamp": 1702260556896 } }欄位說明如下:
欄位名稱
欄位類型
說明
operator
String
刪除DataWorks工作空間的使用者UID。
projectId
Long
待刪除的DataWorks工作空間ID。
projectName
String
待刪除的DataWorks工作空間名稱。
tenantId
Long
待刪除工作空間所屬的租戶ID。
timestamp
Long
發送訊息的時間戳記。
eventCode
String
擴充程式事件編碼。
上傳與下載事件列表
事件列表
事件類型 | 事件(及產生事件的操作) | 普通事件 | 擴充點事件 | EventBridge事件類型(Type) | 擴充程式事件類型(eventCode) |
資料下載與上傳 | 資料下載前置事件-檔案產生 |
|
| dataworks:ResourcesDownload:DownloadResources | download-resources |
資料下載前置事件-檔案下載 |
|
| dataworks:ResourcesDownload:DownloadResourcesExecute | download-resources-execute | |
資料上傳前置事件 |
|
| dataworks:ResourcesUpload:UploadDataToTable | upload-data-to-table |
訊息格式
資料下載與上傳
資料下載前置事件-檔案產生的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "data": { "eventCode": "download-resources", "moduleType": "sqlx_query", "operatorBaseId": "123936573******", "operatorUid": "14931896037*******", "fileName": "檔案名稱.csv", "fileSize": 10241024, "datasourceId": "1111", "datasourceName": "odps_first", "queryDwProjectId": "9***4", "queryDwProjectName": "test_project", "dataRowSize": "123456", "sqlText": "select sku_code, sku_name from dim_sku", }欄位說明如下:
欄位名稱
欄位類型
說明
moduleType
String
下載資料的來源:
entity_transfer:在資訊安全中心 > 安全性原則 > 實體轉交 > 轉交日誌下載的資料。
develop_query:在資料開發(DataStudio)使用SQL語句查詢並下載的資料。
sqlx_query:在資料分析 > SQL查詢使用SQL語句查詢並下載的資料。
dw_excel:在資料分析 > 試算表下載的資料。
operatorBaseId
String
執行下載操作的使用者BaseID。
operatorUid
String
執行下載操作的使用者UID。
fileName
String
下載檔案的名稱。
fileSize
Long
下載檔案的大小。
datasourceId
String
下載的資料所屬的資料來源ID。
datasourceName
String
下載的資料所屬的資料來源名稱。
queryDwProjectId
String
下載的資料所屬的DataWorks工作空間ID。
queryDwProjectName
String
下載的資料所屬的DataWorks工作空間標識。
dataRowSize
Long
下載的資料條數。
sqlText
String
通過SQL語句查詢並下載資料,此處為使用的SQL代碼。
eventCode
String
擴充程式事件類型。
資料下載前置事件-檔案下載的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "aliyunaccountid": "1493189603770213", "aliyunpublishtime": "2023-12-11T02:10:00.194Z", "data": { "eventCode": "download-resources-execute", "moduleType": "sqlx_query", "operatorBaseId": "123936573******", "operatorUid": "14931896037*******", "fileName": "檔案名稱.csv", "fileSize": 10241024, "datasourceId": "1111", "datasourceName": "odps_first", "queryDwProjectId": "9***4", "queryDwProjectName": "test_project", "dataRowSize": "123456", "sqlText": "select sku_code, sku_name from dim_sku", "ip": "198.10.X.X" }, "aliyunoriginalaccountid": "149318960******", "specversion": "1.0", "aliyuneventbusname": "default", "id": "2c3e41e5-3486-40ce-87d4-910f989cf2a7", "source": "acs.dataworks", "time": "2023-12-11T10:10:00.117Z", "aliyunregionid": "cn-shanghai", "type": "dataworks:ResourcesDownload:DownloadResourcesExecute" }重要欄位說明如下表。
欄位名稱
欄位類型
說明
moduleType
String
下載資料的來源:
entity_transfer:在資訊安全中心 > 安全性原則 > 實體轉交 > 轉交日誌下載的資料。
develop_query:在資料開發(DataStudio)使用SQL語句查詢並下載的資料。
sqlx_query:在資料分析 > SQL查詢使用SQL語句查詢並下載的資料。
dw_excel:在資料分析 > 試算表下載的資料。
operatorBaseId
String
執行下載操作的使用者BaseID。
operatorUid
String
執行下載操作的使用者UID。
fileName
String
下載檔案的名稱。
fileSize
Long
下載檔案的大小。
datasourceId
String
下載的資料所屬的資料來源ID。
datasourceName
String
下載的資料所屬的資料來源名稱。
queryDwProjectId
String
下載的資料所屬的DataWorks工作空間ID。
queryDwProjectName
String
下載的資料所屬的DataWorks工作空間標識。
dataRowSize
Long
下載的資料條數。
sqlText
String
通過SQL語句查詢並下載資料,此處為使用的SQL代碼。
ip
String
執行下載操作的使用者的IP地址。
eventCode
String
擴充程式事件類型。
資料上傳前置事件的訊息實體格式(即事件訊息中
data欄位的內容)樣本如下。{ "datacontenttype": "application/json;charset=utf-8", "aliyunaccountid": "1493189603770213", "aliyunpublishtime": "2023-12-11T02:10:00.194Z", "data": { "eventCode": "upload-data-to-table", "uploadSourceType": "LOCAL", "optTableType": "CREATE", "targetEngineType": "MAXCOMPUTE", "writeType": "OVERWRITE", "conflictMode": "IGNORE", "operatorBaseId": "12312*****", "operatorUid": "1222222*****", "datasourceId": "1111", "datasourceName": "odps_first", "tableGuid": "odps.mc_project.test_table", "queryDwProjectId": "9***4", "queryDwProjectName": "test_project", "fileSize": 123456 }, "aliyunoriginalaccountid": "149318960******", "specversion": "1.0", "aliyuneventbusname": "default", "id": "2c3e41e5-3486-40ce-87d4-910f989cf2a7", "source": "acs.dataworks", "time": "2023-12-11T10:10:00.117Z", "aliyunregionid": "cn-shanghai", "type": "dataworks:ResourcesUpload:UploadDataToTable" }欄位說明如下:
欄位名稱
欄位類型
說明
uploadSourceType
String
上傳資料的來源:
LOCAL:上傳本地檔案資料。
OSS:上傳OSS檔案資料。
DW_EXCEL:上傳DataWorks的資料分析 > 試算表資料。
HTTP:上傳HTTP檔案資料。
optTableType
String
選擇將資料上傳至指定引擎資料來源的已有表或建立表。取值如下:
CREATE:上傳資料至建立表。
IMPORT:上傳資料至已有表。
targetEngineType
String
選擇將資料上傳至哪類引擎。取值如下:
MaxCompute
EMR Hive
Hologres
writeType
String
資料寫入至目標表的方式。取值如下:
OVERWRITE:覆蓋原有表資料。
APPEND:將上傳的資料追加至目標表中。
conflictMode
String
上傳資料時,目標表的主鍵衝突處理策略:
IGNORE:存在主鍵衝突時,忽略上傳的資料。
REPLACE:存在主鍵衝突時,先刪除衝突資料所在的行,再將上傳的資料插入該行。上傳資料未指定的欄位會寫為NULL。
UPDATE:上傳的資料覆蓋原表資料,只覆蓋上傳資料指定的欄位,未指定欄位資料保持不變。
operatorBaseId
String
執行上傳操作的使用者BaseID。
operatorUid
String
執行上傳操作的使用者UID。
datasourceId
String
上傳資料至哪個資料來源,此處填寫資料來源ID。
datasourceName
String
上傳資料至哪個資料來源,此處填寫資料來源名稱。
tableGuid
String
表的Guid。樣本如下:
MaxCompute:
odps.maxcomputeProject.tableName。EMR_Hive:
emr_hive.emr叢集id.schema.tableName。Holo:
holo.hologres執行個體id.database。
queryDwProjectId
String
表所屬的DataWorks工作空間ID。
queryDwProjectName
String
表所屬的DataWorks工作空間名稱。
fileSize
Long
上傳檔案的大小,單位為位元組。
eventCode
String
擴充程式事件編碼。
附錄:訊息格式
發送給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 | 訊息實體格式。不同類型事件的訊息格式及其包含的欄位含義存在差異,詳情請參見: 資料開發事件訊息格式:資料開發事件列表。 Data Integration事件訊息格式:Data Integration事件列表。 營運中心事件訊息格式:營運中心事件列表。 資訊安全中心事件訊息格式:資訊安全中心事件列表。 資料品質事件訊息格式:資料品質事件列表。 |
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_6603***070",
"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)列。 | ||