This topic describes DataWorks event types, message formats, and field meanings. Use this document to quickly find and query information about event lists and message formats.
Introduction
In DataWorks, events are classified as standard events or extension point events based on whether they can create a checkpoint within DataWorks and whether they can return processing results after being subscribed to by a self-managed service.
-
Standard events: You can subscribe to these event messages, but they cannot block operations inside DataWorks. Subscribe to these events using OpenEvent. For more information, see OpenEvent.
-
Extension point events: After subscribing to these event messages, you can customize the response to event messages using the Extensions feature in the DataWorks Open Platform. When you use Extensions to manage operations at an extension point, the operation performed by the DataWorks platform user at that extension point is interrupted until your custom extension returns a processing result.
This list categorizes supported events by module and indicates whether each event is a standard event or an extension point event. It also lists the EventBridge event type (Type) and the extension event code (eventCode).
-
EventBridge event type (Type): A field used to filter event messages. For details, see Enable message subscription.
-
Extension event code (eventCode): The event code corresponding to the event type. During local development, obtain this code from the message content sent by DataWorks to identify the target event type.
Workspace-level events
Events generated by workspace-level modules are workspace-level events, such as events from node runs in Data Development or recurring instance status changes in Operation Center. Use the event list below to identify which events are standard events and which are extension point events, along with their message formats.
The following message format tabs contain partial content only. For complete messages sent to EventBridge or Function Compute, refer to Appendix: Message Format.
Data Development event list
Event list
|
Event type |
Event (and triggering operation) |
Standard event |
Extension point event |
EventBridge event type (Type) |
Extension event code (eventCode) |
|
Node change |
Create node
|
|
|
|
|
|
Update node
|
|
|
|
|
|
|
File change
|
Pre-delete file event Delete node in development environment Note
The deleted file moves to the recycle bin. |
|
|
|
|
|
Pre-commit file event |
|
|
|
|
|
|
Pre-deploy file event |
|
|
|
|
|
|
Pre-execution event |
|
|
|
|
|
|
Table change |
Table pre-submit event for development |
|
|
|
|
|
Pre-deploy table to production event |
|
|
|
|
Message format
Node change events (create, update)
The message payload format (content of the data field in event messages) for node creation, modification, and deletion events is shown in the following example.
{
"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", // Operator of this action
"eventCode": "node-change-created",
"repeatability": true,
"modifyTime": 17***864,
"createTime": 17***864,
"tenantId": 28***656,
"nodeId": 70***003,
"projectId": 9***4
}
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
nodeName |
String |
Node name. |
|
programType |
String |
File code type. Call the ListFileType API to query file code types, or see Supported node types for file code types. |
|
cronExpress |
String |
Cron expression for recurring scheduling. This parameter corresponds to the setting for Data Development tasks in the DataWorks console. After configuring the scheduling cycle and scheduled time, DataWorks automatically generates the corresponding cron expression. Examples:
Note
Cron expression limitations:
|
|
schedulerType |
String |
Scheduling type of the task instance. Valid values:
|
|
ownerId |
String |
Alibaba Cloud user ID of the node owner. If this parameter is empty, the Alibaba Cloud user ID of the caller is used by default. |
|
priority |
Integer |
Task priority. Valid values: 1, 3, 5, 7, 8. Higher values indicate higher priority. |
|
baselineId |
Long |
Baseline ID. |
|
repeatability |
Boolean |
Whether the node can be run repeatedly:
|
|
modifyTime |
Long |
Last modification time of the node. |
|
createTime |
Long |
Creation time of the node. |
|
nodeId |
Long |
Node ID. |
|
projectId |
Long |
Project space ID where the node resides. |
|
tenantId |
Long |
Tenant ID to which the node belongs. |
|
operator |
String |
User UID who created, modified, or deleted the node. |
|
eventCode |
String |
Extension event code. |
File change events (commit, deploy, run, delete)
-
Message payload format (content of the
datafield in event messages) for file commit and deploy events is shown in the following example.{ "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 } }Field descriptions are as follows:
Field name
Field type
Description
operator
String
User UID who committed or deployed the file.
projectId
Long
ID of the project space to which the file belongs.
tenantId
Long
Tenant ID.
nodeId
Long
Scheduling node ID.
fileType
Long
File code type. Call the ListFileType API to query file code types, or see Supported node types for file code types.
fileName
String
File name.
fileOwner
String
File owner.
extensionBizId
String
Extension checkpoint process ID.
changeType
String
File change type:
-
0: Create file.
-
1: Update file.
-
2: Delete file.
fileCreateTime
String
File creation time in
yyyy-MM-dd HH:mm:ssformat.fileId
Long
File ID.
fileVersion
Long
File version.
dataSourceName
String
Data source name.
eventCode
String
Extension event code.
-
-
Message payload format (content of the
datafield in event messages) for file delete and run events is shown in the following example.{ "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", // File creation time "tenantId": 28***656, "fileOwner": "19***735", // File owner "nodeId": 70***003, "projectId": 9***4, "fileType": 10, "fileId": 50***830, "resourceType": 1 } }Field descriptions are as follows:
Field name
Field type
Description
operator
String
User UID who deleted or ran the file.
projectId
Long
ID of the project space to which the file belongs.
tenantId
Long
Tenant ID.
nodeId
Long
Scheduling node ID.
fileType
Long
File code type. Call the ListFileType API to query file code types, or see Supported node types for file code types.
fileName
String
File name.
fileOwner
String
File owner.
extensionBizId
String
Extension checkpoint process ID.
fileCreateTime
String
File creation time in
yyyy-MM-dd HH:mm:ssformat.fileId
Long
File ID.
eventCode
String
Extension event code.
Table change events (commit table to development, deploy table to production)
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"operator": "**************",
"projectId": 12*****56,
"tenantId": 12******56,
"extensionBizId": "12***56",
"tableName":"table1",
"tableType":"ODPS",
"maxComputeProject":"project1"
}
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
operator |
String |
User UID who committed or deployed the table. |
|
projectId |
Long |
Project space ID. |
|
tenantId |
Long |
Tenant ID. |
|
extensionBizId |
String |
Extension checkpoint process ID. |
|
tableName |
String |
Table name. |
|
tableType |
String |
Table type. Valid value: ODPS. |
|
maxComputeProject |
String |
Corresponding MaxCompute project name. |
Data Integration event list
Event list
|
Event type |
Event (and triggering operation) |
Standard event |
Extension point event |
EventBridge event type (Type) |
Extension event type (eventCode) |
|
Node change event |
Start job |
|
|
|
|
|
Batch start jobs |
|
|
|
|
Message format
Node change event-Start job
Message payload format (content of the data field in event messages) for node change event - start job is shown in the following example.
## message v1 job start with no more than 500 tables
{
"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 job start with no more than 500 tables
{
"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 job start with more than 500 tables, "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"
}
}
}
## Regular expression
{
"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"
}
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
projectId |
Long |
DataWorks project space ID. |
|
operator |
String |
Operator user UID. |
|
extensionBizName |
String |
Solution name. |
|
showTableMapping |
Boolean |
Whether to return table mapping information.
If more than 500 tables are involved, showTableMapping defaults to |
|
tableMapping |
JSONArray |
Table mapping relationships. |
|
srcDatasourceName |
String |
Source data source name. |
|
srcDatabaseName |
String |
Source database name. |
|
srcTable |
String |
Source table name. |
|
dstDatasourceName |
String |
Destination data source name. |
|
dstTable |
String |
Destination table name. |
|
tenantId |
Long |
Tenant ID. |
|
eventCode |
String |
Extension event code. |
Node change event-Batch start jobs
Message payload format (content of the data field in event messages) for node change event - batch start jobs is shown in the following example.
{
"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
}
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
projectId |
Long |
DataWorks project space ID. |
|
operator |
String |
Operator user UID. |
|
extensionBizName |
String |
Solution name. |
|
setting |
JSONObject |
Startup configuration items. |
|
startDateTime |
String |
Start time. |
|
timeZone |
String |
Set the time zone. |
|
tableMapping |
JSONArray |
Table mapping relationships. |
|
srcDatasourceName |
String |
Source data source name. |
|
srcDatabaseName |
String |
Source database name. |
|
srcTable |
String |
Source table name. |
|
dstDatasourceName |
String |
Destination data source name. |
|
dstTable |
String |
Destination table name. |
|
showTableMapping |
Boolean |
Whether to return table mapping information.
If more than 500 tables are involved, showTableMapping defaults to |
|
tenantId |
Long |
Tenant ID. |
|
eventCode |
String |
Extension event code. |
Operation Center event list
Event list
Modifying the scheduling resource group or owner triggers node-change-updated.
|
Event type |
Event (and triggering operation) |
Standard event |
Extension point event |
EventBridge event type (Type) |
Extension event type (eventCode) |
|
Node change |
Delete node
|
|
|
|
|
|
Pre-unpublish node event Directly unpublish recurring node in production environment Note
This operation synchronously deletes the node in Data Development and moves it to the recycle bin. |
|
|
|
|
|
|
Pre-freeze node event Important
This event synchronously triggers the node-change-updated event. |
|
|
|
|
|
|
Pre-unfreeze node event Important
This event synchronously triggers the node-change-updated event. |
|
|
|
|
|
|
Backfill data |
Pre-backfill data event |
|
|
|
|
|
Task status change |
Scheduling task status change |
|
|
|
|
|
Instance change |
Freeze instance |
|
|
|
|
|
Unfreeze instance |
|
|
|
|
|
|
Kill instance |
|
|
|
|
|
|
Rerun instance
|
|
|
|
|
|
|
Successful instance |
|
|
|
|
|
|
Remove specified upstream dependencies from instance |
|
|
|
|
|
|
Pre-freeze instance event |
|
|
|
|
|
|
Pre-unfreeze instance event |
|
|
|
|
|
|
Pre-rerun instance event |
|
|
|
|
|
|
Pre-set instance success event |
|
|
|
|
|
|
Pre-kill instance event |
|
|
|
|
|
|
Delete expired instances |
|
|
|
|
|
|
Workflow status change |
Workflow status change
|
|
|
|
|
|
Monitoring and alerts |
Monitoring and alerts |
|
|
|
|
Message format
Node change events (delete, unpublish, freeze, unfreeze)
-
Message payload format (content of the
datafield in event messages) for node delete events is shown in the following example.{ "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" // Operator of this action } }Field descriptions are as follows:
Field name
Field type
Description
nodeName
String
Node name.
programType
String
File code type. Call the ListFileType API to query file code types, or see Supported node types for file code types.
cronExpress
String
Cron expression for recurring scheduling.
This parameter corresponds to the setting for Data Development tasks in the DataWorks console.
After configuring the scheduling cycle and scheduled time, DataWorks automatically generates the corresponding cron expression. Examples:
-
Schedule daily at 05:30 AM:
00 30 05 * * ? -
Schedule at minute 15 of every hour:
00 15 * * * ? -
Schedule every 10 minutes:
00 00/10 * * * ? -
Schedule every 10 minutes between 8 AM and 5 PM daily:
00 00-59/10 8-17 * * * ? -
Schedule automatically at 00:20 on the 1st of each month:
00 20 00 1 * ? -
Schedule every 3 months starting from 00:10 on January 1:
00 10 00 1 1-12/3 ? -
Schedule automatically at 00:05 every Tuesday and Friday:
00 05 00 * * 2,5
NoteCron expression limitations:
-
Minimum scheduling interval is 5 minutes.
-
Earliest daily scheduling time is 00:05.
schedulerType
String
Scheduling type of the task instance. Valid values:
-
0: NORMAL. Normal scheduled task. This task is scheduled daily.
-
1: MANUAL. Manual task. This task is not scheduled daily.
-
2: PAUSE. Frozen task. This task is scheduled daily but is immediately marked as failed when scheduling starts.
-
3: SKIP. Dry-run task. This task is scheduled daily but is immediately marked as successful when scheduling starts.
-
4: SKIP_UNCHOOSE. Unselected task in a temporary workflow. Exists only in temporary workflows and is immediately marked as successful when scheduling starts.
-
5: SKIP_CYCLE. Weekly or monthly task not yet in its run cycle. This task is scheduled daily but is immediately marked as successful when scheduling starts.
-
6: CONDITION_UNCHOOSE. Downstream node not selected by an upstream IF node. Immediately set as a dry-run task.
-
7: REALTIME_DEPRECATED. Expired recurring instance generated in real time. Immediately marked as successful.
ownerId
String
Alibaba Cloud user ID of the node owner. If this parameter is empty, the Alibaba Cloud user ID of the caller is used by default.
priority
Integer
Task priority. Valid values: 1, 3, 5, 7, 8. Higher values indicate higher priority.
baselineId
Long
Baseline ID.
repeatability
Boolean
Whether the node can be run repeatedly:
-
true: Can be run repeatedly.
-
false: Cannot be run repeatedly.
modifyTime
Long
Last modification time of the node.
createTime
Long
Creation time of the node.
nodeId
Long
Node ID.
projectId
Long
Project space ID where the node resides.
tenantId
Long
Tenant ID to which the node belongs.
operator
String
User UID who created, modified, or deleted the node.
-
-
Message payload format (content of the
datafield in event messages) for node freeze, unfreeze, and unpublish events is shown in the following example.{ "datacontenttype": "application/json;charset=utf-8", "data": { "operator": "19***735", "projectId": 12***56, "tenantId": 28***656, "nodeIds":[1,2,3], "extensionBizId": "12***56" } }Field descriptions are as follows:
Field name
Field type
Description
operator
String
UID of the user who freezes, restores, or unpublishes a node.
projectId
Long
Project space ID where the node resides.
tenantId
Long
Tenant ID.
nodeIds
Array
List of node IDs being operated on.
extensionBizId
String
Extension checkpoint process ID.
Backfill data
Message payload format (content of the data field in event messages) for backfill data operations is shown in the following example.
{
"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"
}
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
name |
String |
Name of the backfill data workflow. |
|
rootNodeId |
Long |
Root node ID of the backfill data workflow. |
|
rootNodeProjectId |
Long |
Project space ID where the root node of the backfill data workflow resides. |
|
includeNodeIds |
Array |
List of node IDs for backfill data. |
|
excludeNodeIds |
Array |
List of node IDs excluded from backfill data. Nodes in this list generate dry-run instances that are marked as successful immediately upon scheduling without executing script content. |
|
bizBeginTime |
String |
Start time of the task. Required only for hourly scheduled tasks. Format: |
|
bizEndTime |
String |
End time of the task. Required only for hourly scheduled tasks. Format: |
|
isParallel |
Boolean |
Whether the backfill data operation can run in parallel:
|
|
parallelGroup |
Integer |
Number of parallel groups. 1 means no grouping. |
|
startFutureInstanceImmediately |
Boolean |
Whether to skip the scheduled time and immediately run future instances:
|
|
order |
String |
Order of backfill data execution based on business date:
|
|
multipleTimePeriods |
String |
Select business dates in segments. Example: |
|
tenantId |
Long |
Tenant ID. |
|
projectId |
Long |
Project ID where the backfill data operation is performed. |
|
operator |
String |
User ID who performed the backfill data operation. |
|
extensionBizId |
String |
Extension checkpoint process ID. |
|
eventCode |
String |
Extension event code. |
Task status change event
Message payload format (content of the data field in event messages) for scheduling task status change events is shown in the following example.
{
"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
}
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
finishTime |
Long |
Exact time when the scheduling task instance finished running. |
|
beginWaitTimeTime |
Long |
Exact time when the scheduling task instance started waiting to run. |
|
beginRunningTime |
Long |
Exact time when the scheduling task instance started running. |
|
dagId |
Long |
Dag details can be retrieved using |
|
dagType |
Integer |
Type of Dag. Valid values:
|
|
taskType |
Integer |
Scheduling type of the task instance. Valid values:
|
|
modifyTime |
Long |
Last modification time of the task instance. |
|
createTime |
Long |
Creation time of the task instance. |
|
appId |
Long |
Workspace ID. Call ListProjects to view workspace ID information. |
|
tenantId |
Long |
Tenant ID of the workspace where the scheduling task instance resides. |
|
opCode |
Integer |
Operation code of the scheduling task instance. This field can be ignored. |
|
flowId |
Long |
Workflow ID.
|
|
nodeId |
Long |
Node ID corresponding to the scheduling task instance. |
|
beginWaitResTime |
Long |
Exact time when the scheduling task instance started waiting for resources. |
|
taskId |
Long |
ID of the scheduling task instance. |
|
status |
Integer |
Task status. Valid values:
|
|
eventCode |
String |
Extension event code. |
Instance change events (freeze, unfreeze, kill, rerun, set success)
Message payload format (content of the data field in event messages) for instance change events is shown in the following example.
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "freeze-instance",
"operator": "19***735",
"projectId": 12***8,
"projectType": "PROD",
"taskIds": [
523***9736
],
"tenantId": 28***656
}
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
operator |
String |
User UID who performed operations (freeze, unfreeze, kill, rerun, set success, etc.) on the instance. |
|
projectType |
String |
Runtime environment.
|
|
taskIds |
List<Long> |
Set of instance IDs. |
|
projectId |
Long |
DataWorks project space ID. |
|
tenantId |
Long |
Tenant ID of the workspace where the instance resides. |
|
eventCode |
String |
Event code. |
Pre-instance change events (freeze, unfreeze, rerun, set success, kill instance)
Message payload format (content of the data field in event messages) for pre-instance change events is shown in the following example.
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "pre-freeze-instance",
"extensionBizId": "055***afaa",
"extensionBizName": "Node name",
"projectId": 9***4,
"taskIds": [
523536569736
],
"tenantId": 28***656,
"operator": "19***735"
}
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
extensionBizId |
String |
Extension checkpoint process ID. |
|
extensionBizName |
String |
Name of the operation object. Multiple objects are described as "object name...". |
|
projectId |
Long |
DataWorks project space ID. |
|
taskIds |
List<Long> |
Set of instance IDs. |
|
tenantId |
String |
Tenant ID of the workspace where the instance resides. |
|
operator |
Long |
User UID who operated on the instance. |
|
eventCode |
String |
Extension point event code. |
Instance change event-Delete expired instances
Message payload format (content of the data field in event messages) for delete expired instances events is shown in the following example.
{
"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
}
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
deletedTaskInstanceIds |
List |
List of deleted instance IDs. |
|
owner |
String |
Instance owner user ID. |
|
operationTime |
Long |
Operation time. |
|
blockBusiness |
Boolean |
When an extension exists, whether to stop the process.
|
|
appId |
Long |
DataWorks project space ID. |
|
tenantId |
String |
Tenant ID of the workspace where the instance resides. |
|
operator |
Long |
User UID who operated on the instance. |
|
eventCode |
String |
Extension point event code. |
Remove specified upstream dependency relationship event
Message payload format (content of the data field in event messages) for removing specified upstream dependency relationships is shown in the following example:
{
"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
}
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
taskInstanceId |
Long |
Downstream instance ID. |
|
upstreamTaskInstanceIds |
List |
List of upstream instance IDs whose dependency relationships are removed. |
|
operator |
String |
Operator user UID. |
|
operationTime |
Long |
Operation time. |
Workflow status change event
Message payload format (content of the data field in event messages) for workflow status change events is shown in the following example.
{
"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
}
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
bizDate |
String |
Business date of the workflow. Format: |
|
createTime |
String |
Creation time of the workflow. Format: |
|
dagId |
Long |
DagId. Dag details can be retrieved using DagId. |
|
dagName |
String |
Workflow name. |
|
dagType |
Integer |
Type of Dag. Valid values:
|
|
flowId |
Integer |
Workflow ID corresponding to the business flow. |
|
flowName |
String |
Business flow name corresponding to the workflow. |
|
operator |
String |
User UID who created the workflow. |
|
projectEnv |
String |
Environment to which the workflow belongs. Valid values:
|
|
tenantId |
Long |
Tenant ID of the workspace where the scheduling task instance resides. |
|
projectId |
Long |
Workspace ID. |
|
status |
Integer |
Status of tasks in the workflow. Valid values:
|
|
eventCode |
String |
Extension event code. |
Monitoring and alerts
-
Message payload format (content of the
datafield in messages) for baseline alerts is shown in the following example.{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "workbench-monitor-alert", "alarmType": "SLA_ALERT", "baselineId": 137***723, "baselineName": "ods layer check task dedicated -- hourly", "baselineStatus": 3, "bizDate": 1654444800000, "inGroupId": 14, "nodeId": 1000***8734, "projectId": 76***34, "taskId": 307***3778, "tenantId": 28***656 } }Field descriptions are shown in the following table.
Field name
Field type
Description
alarmType
String
Alert type. Valid values:
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
baselineId
Long
Baseline ID.
baselineName
String
Baseline name.
baselineStatus
Integer
Baseline status. Valid values:
-
-1: Abnormal.
-
1: Safe.
-
2: Warning.
-
3: Line break.
bizDate
Long
Business date timestamp.
inGroupId
Integer
Period number of the baseline instance. Day baselines use
1. Hourly baselines range from[1,24].nodeId
Long
Node ID causing baseline anomaly.
projectId
Long
Project space ID to which the baseline belongs.
taskId
Long
Instance ID causing baseline anomaly.
tenantId
Long
Tenant ID.
eventCode
String
Extension event code.
-
-
Message payload format (content of the
datafield in messages) for event alerts is shown in the following example.{ "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 } }Field descriptions are shown in the following table.
Field name
Field type
Description
alarmType
String
Alert type. Valid values:
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
topicId
Long
Event ID.
taskStatus
String
Status of the node instance that triggered the event.
nodeId
Integer
Node ID that triggered the event.
projectId
Long
Project space ID to which the node that triggered the event belongs.
taskId
Long
Node instance ID that triggered the event.
tenantId
Long
Tenant ID.
-
-
Message payload format (content of the
datafield in messages) for task rule alerts is shown in the following example.NoteTypically, rule objects include task nodes, baselines, workspaces, and business flows.
{ "datacontenttype": "application/json;charset=utf-8", "data": { "alarmType": "REMIND_ALERT", "nodeIds": "1000***5472,1000***5473,1000***5474", "projectId": 9***4, "remindId": 7605, "remindName": "Error alert", "remindType": "ERROR", "remindUnit": "NODE", "taskIds": "307***0896,307***0870,307***0855", "tenantId": 28***656 } }Field descriptions are shown in the following table.
Field name
Field type
Description
alarmType
String
Alert type. Valid values:
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
nodeIds
String
List of nodes triggering rule alerts.
remindId
Long
Rule ID.
remindType
Stirng
Rule trigger condition. Valid values:
-
FINISHED: Completed.
-
UNFINISHED: Not completed.
-
ERROR: Execution error.
-
CYCLE_UNFINISHED: Cycle not completed.
-
TIMEOUT: Execution timeout.
projectId
Long
Project space ID to which the node triggering the rule belongs.
remindUnit
String
Type of object triggering the rule. Valid values:
-
NODE: Task node.
-
GATEWAY_RES: Exclusive scheduling resource group.
-
DI_RES: Data Integration resource group.
tenantId
Long
Tenant ID.
taskId
String
List of instances triggering rule alerts.
remindName
String
Rule name.
-
-
Message payload format (content of the
datafield in messages) for resource group rule alerts is shown in the following example.{ "datacontenttype": "application/json;charset=utf-8", "data": { "alarmType": "REMIND_ALERT", "projectId": 9***4, "remindId": 200***186, "remindName": "Exclusive resource group alert", "remindType": "RES_GROUP_THRESHOLD", "remindUnit": "GATEWAY_RES", "resourceGroupIdentifier": "S_res_group_195820716552192_1650965857744", "resourceGroupName": "emr_exclusive_scheduld", "resourceGroupType": "GATEWAY", "tenantId": 28***656 } }Field descriptions are shown in the following table.
Field name
Field type
Description
alarmType
String
Alert type. Valid values:
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
remindId
Long
Rule ID.
remindType
Stirng
Rule trigger condition. Valid values:
-
FINISHED: Completed.
-
UNFINISHED: Not completed.
-
ERROR: Execution error.
-
CYCLE_UNFINISHED: Cycle not completed.
-
TIMEOUT: Execution timeout.
-
RES_GROUP_THRESHOL: Resource group utilization.
-
RES_GROUP_WAIT_AMOUNT: Number of instances waiting for resources in the resource group.
projectId
Long
Project space ID to which the node triggering the rule belongs.
remindUnit
String
Type of object triggering the rule. Valid values:
-
NODE: Task node.
-
GATEWAY_RES: Exclusive scheduling resource group.
-
DI_RES: Data Integration resource group.
tenantId
Long
Tenant ID.
remindName
String
Rule name.
resourceGroupIdentifier
String
Unique identifier of the resource group.
resourceGroupName
String
Resource group name.
resourceGroupType
String
Resource group type. Valid values:
-
GATEWAY: Scheduling resource group.
-
DI: Data Integration resource group.
-
Security Center event list
Event list
|
Event type |
Event (and triggering operation) |
Standard event |
Extension point event |
EventBridge event type (Type) |
Extension message type (eventCode) |
|
Approval Center |
Pre-create permission application form event |
|
|
|
|
|
Complete application form |
|
|
|
|
|
|
Security Center (table permission application) |
Pre-table permission application event |
|
|
|
|
Message format
Approval Center (create, complete application form)
-
Message payload format (content of the
datafield in event messages) for pre-create permission application form events is shown in the following example.{ "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":"Test", "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":"Test", "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 }Field descriptions are as follows:
Field name
Field type
Description
appId
Long
Workspace ID.
assignee
String
BaseId of the approver for the approval request.
assigneeName
String
Name of the approver.
comments
String
Comment information.
createTime
Long
Timestamp of application form creation.
processId
String
ID of the approval form.
status
String
Status of the approval form.
taskId
String
ID of the approval task.
tenantId
String
Tenant ID.
updateTime
String
Timestamp of approval form update.
eventType
String
Event type.
process
Object
Approval task object.
applicant
String
Request BaseID.
applicantName
String
Applicant name.
assignmentCategory
String
Type of application content.
createTime
String
Timestamp of approval form creation.
processDefinitionId
String
Workflow definition ID.
processId
String
Workflow ID.
status
String
Workflow status.
title
String
Workflow title.
updateTime
Long
Timestamp of approval form update.
approvalContent
Object
Approval content object.
applyPeriod
String
Application duration of the approval form.
applyReason
String
Application reason of the approval form.
contentType
String
Approval content type.
odpsProjectName
String
Approval project name.
resourceSummary
String
Resource description.
tenantId
Long
Tenant ID.
workspaceId
Long
Workspace ID.
projectEnv
String
Environment to which the approval project belongs.
granteeAccounts
Array
Authorization list.
.granteeId
String
Authorization subject ID.
granteeType
String
Authorization type.
granteeTypeSub
String
Authorization subject subtype.
granteeName
String
Authorization subject name.
arrayData
Array
Authorization content list. For details, see Development Reference: Event List and Message Format.
eventType
String
Event type.
-
Message payload format (content of the
datafield in event messages) for complete approval form events is shown in the following example.{ "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": "Test", "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 } } }Field descriptions are as follows:
Field name
Field type
Description
appId
Long
Workspace ID.
assignee
String
BaseId of the approval form approver.
assigneeName
String
Approver name.
comments
String
Comment information.
createTime
Long
Timestamp of approval form creation.
processId
String
Approval form ID.
status
String
Approval form status.
taskId。
String
Approval task ID.
tenantId
String
Tenant ID.
updateTime
String
Timestamp of the most recent approval form update.
eventType
String
Event type.
process
Object
Approval task object.
applicant
String
Request a BaseID.
applicantName
String
Applicant name.
assignmentCategory
String
Type of application content.
createTime
String
Timestamp of approval form creation.
processDefinitionId
String
Workflow definition ID.
processId
String
Workflow ID.
status
String
Workflow status.
title
String
Workflow title.
updateTime
Long
Timestamp of approval form update.
approvalContent
Object
Approval content object.
applyPeriod
String
Application duration.
applyReason
String
Application reason.
contentType
String
Content type.
odpsProjectName
String
Project name.
resourceSummary
String
Resource description.
tenantId
Long
Tenant ID.
workspaceId
Long
Workspace ID.
projectEnv
String
Belonging environment.
granteeAccounts
Array
Authorization list.
granteeId
String
Authorization subject ID.
granteeType
String
Authorization type.
granteeTypeSub
String
Authorization subject subtype. That is, authorization account type, as follows:
-
Production cloud account (account used for production scheduling): ACCOUNT_PRD(101)
-
Application cloud account: ACCOUNT_APP(102)
-
Personal cloud account: ACCOUNT_USER(103)
-
Department cloud account: ACCOUNT_DEPT(104)
-
MOCK account: ACCOUNT_MOCK(106)
-
Other user cloud account: ACCOUNT_OTHER_USER(105)
granteeName
String
Authorization subject name.
arrayData
Array
Authorization content list. For details, see Development Reference: Event List and Message Format.
eventType
String
Event type.
-
Security Center (Pre-table permission application event)
Message payload format (content of the data field in event messages) for pre-table permission application events is shown in the following example.
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventType": "approval-create-before",
"operator":"19***735",
"order":{
"applyReason":"Test",
"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
}
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
operator |
String |
User UID who performed the pre-table permission application operation. |
|
projectId |
Long |
Workspace ID where the pre-table permission application operation was performed. |
|
tenantId |
Long |
Tenant ID where the pre-table permission application operation was performed. |
|
order |
Object |
Application form information. |
|
applyReason |
String |
Application reason. |
|
deadlineDate |
String |
Validity period of the application form. |
|
deadlineType |
String |
Time unit for the application form validity period. For example, Day, Month. |
|
granteeObjectList |
Object |
Authorization object list. |
|
granteeId |
String |
Authorization object ID, which is the RAM user ID. |
|
projectMeta |
Object |
Workspace information. |
|
envCode |
Integer |
Workspace environment identifier. 0 indicates development environment, 1 indicates production environment. |
|
labelSecurity |
Boolean |
Whether label-level control is enabled:
|
|
objectMetaList |
Array |
Authorization object list. |
|
action |
Array |
Authorization actions. For example, granting Select or Describe permissions on a table. |
|
name |
String |
Name of the table for which permission is requested. |
|
projectGuid |
String |
Workspace Guid where the table resides. |
|
projectName |
String |
Workspace name where the table resides. |
|
eventType |
String |
Event type. |
Appendix: Authorization content list (MaxCompute)
When DataWorks triggers approvals and table permission applications in Security Center, the event messages sent to EventBridge include arrayData. When the assignmentCategory type is MaxCompute, the content of arrayData is as follows:
{
"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"
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
ownerBaseId |
String |
BaseID of the table owner. |
|
ownerAccountName |
String |
Name of the table owner. |
|
objectType |
String |
Object type. |
|
odpsTable |
String |
Table name. |
|
envType |
String |
Environment to which the table belongs. |
|
projectGuid |
String |
Project Guid. |
|
objectGuid |
String |
Object Guid. |
|
objectName |
String |
Object name. |
|
odpsProject |
String |
ODPS project name. |
|
projectName |
String |
Project code. |
|
projectId |
Long |
Project ID. |
|
workspaceId |
String |
Workspace ID. |
|
actions |
Array |
List of action types. |
Appendix: Authorization content list (DataService)
When DataWorks triggers approvals and table permission applications in Security Center, the event messages sent to EventBridge include arrayData. When the assignmentCategory type is DataService, the content of arrayData is as follows:
{
"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":"******"
}
Field descriptions are as follows:
|
Field name |
Field type |
Description |
|
resourceId |
String |
Resource ID. |
|
ownerName |
String |
Name of the resource owner. |
|
resourceVersion |
Long |
Resource version. |
|
name |
String |
Resource name. |
|
dsDeployId |
String |
Data service deployment ID. |
|
workspaceName |
String |
Workspace name. |
|
id |
String |
Unique resource ID. |
|
type |
String |
Resource type. Valid values:
|
|
ownerId |
String |
BaseID of the resource owner. |
|
url |
String |
Data service URL. |
|
workspaceId |
String |
Workspace ID. |
Data Quality event list
Event list
|
Event type |
Event (and triggering operation) |
Standard event |
Extension point event |
EventBridge event type (Type) |
Extension event type (eventCode) |
|
Data quality validation |
Validation result feedback
|
|
|
|
|
|
Validation complete
|
|
|
|
|
|
|
Data Quality Rule Pre-check |
Pre-batch create data quality rules event |
|
|
|
|
|
Pre-batch update data quality rules event |
|
|
|
|
|
|
Pre-batch delete data quality rules event |
|
|
|
|
|
|
Pre-update data quality rule event |
|
|
|
|
|
|
Data quality monitoring pre-operation |
Pre-create data quality monitoring event |
|
|
|
|
|
Pre-update data quality monitoring event |
|
|
|
|
|
|
Pre-clone data quality monitoring event |
|
|
|
|
|
|
Pre-batch delete data quality monitoring event |
|
|
|
|
|
|
Data quality monitoring alert subscription pre-operation |
Pre-create data quality monitoring alert subscription event |
|
|
|
create-data-quality-evaluation-task-notification |
|
Pre-update data quality monitoring alert subscription event |
|
|
|
|
|
|
Pre-delete data quality monitoring alert subscription event |
|
|
|
|
Message format
Data quality validation
-
Message payload format (content of the
datafield in event messages) for data quality validation result feedback events is shown in the following example.{ "datacontenttype": "application/json;charset=utf-8", "data": { "ruleCheckId": 521771452, "feedbackContent": "Skip", "ruleId": 28610334, "createUser": "110755000425****", "taskId": "167644814****9a26ecf4063a88797", "beginTime": "1676448145000", "envType": "ODPS", "projectName": "test_mc_2303_kongjian", "projectId": 9***4, "tenantId": 28***656 } }Important field descriptions are shown in the following table.
Field name
Field type
Description
ruleId
Long
Data quality rule ID.
ruleCheckId
Long
Auto-increment ID of validation results.
feedbackContent
String
Feedback content.
createUser
String
User ID of the person providing feedback.
taskid
String
ID of the data quality task.
beginTime
String
Feedback time.
envType
String
Data source type of the table associated with the rule, including the following: ODPS, EMR, HOLO.
projectName
String
Unique identifier of the data source associated with the rule.
projectId
Long
DataWorks project space ID.
tenantId
Long
DataWorks tenant ID.
-
Message payload format (content of the
datafield in event messages) for data quality validation complete events is shown in the following example.{ "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": "Table row count, 1-day difference", "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": "Previous day difference", "isPrediction": false, "feedbackStatus": 0, "whetherToFilterDirtyData": false } }Field descriptions are as follows:
Field name
Field type
Description
id
Long
Primary key ID of this validation process. Each time a rule validation is triggered, a new primary key ID record is added.
projectId
Long
DataWorks project space ID
tenantId
Long
DataWorks tenant ID
taskId
String
ID of the validation task.
entityId
Long
Partition expression ID.
ruleId
Long
Rule ID.
property
String
Field of the rule attribute, that is, the column name of the data source table being validated.
bizdate
Long
Business date. If the business entity being validated is offline data, the business date is usually the day before the validation operation is performed.
dateType
String
Type of scheduling cycle. Usually YMD, meaning yearly, monthly, or daily tasks.
actualExpression
String
Actual partition of the data source table being validated.
matchExpression
String
Partition expression.
blockType
Integer
Strength of the validation rule. Strength indicates the importance of the rule. Valid values:
-
1, indicating a strong rule.
-
0, indicating a weak rule.
You can set important rules as strong rules based on your actual needs. If a strong rule is used and a red alert is triggered, the scheduling task will be blocked.
checkResult
Integer
Validation result status. Valid values:
-
-2: Validation skipped
-
-1: Validation exception
-
0: Validation passed
-
1: Orange threshold triggered
-
2: Red threshold triggered
methodName
String
Methods for collecting sample data include the following: 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, etc.
beginTime
Long
Start time of the validation operation.
endTime
Long
Cutoff time for querying validation results.
timeConsuming
String
Time spent executing the validation task.
externalType
String
Type of scheduling system. Currently only supports CWF2. If externalType is empty, it indicates a manual test run task.
externalId
String
-
When externalType is CWF2, it represents the node ID of the scheduling task.
-
When externalType is empty, the value is triggerByManual, indicating a manually triggered task.
discrete
Boolean
Whether it is discrete validation. Valid values:
-
true: Is discrete validation.
-
false: Is not discrete validation.
fixedCheck
Boolean
Whether it is fixed value validation. Valid values:
-
true: Is fixed value validation.
-
false: Is not fixed value validation.
referenceValue
Historical sample values.
bizDate
Long
Business date. If the business entity being validated is offline data, the business date is usually the day before the validation operation is performed.
discreteProperty
String
Sample field values after group by grouping. For example, if grouped by gender field, DiscreteProperty would be male, female, and null.
value
Decimal
Sample value.
singleCheckResult
Integer
String of validation results.
sampleValue
Current sample used.
bizDate
Long
Business date. If the business entity being validated is offline data, the business date is usually the day before the validation operation is performed.
value
Decimal
Sample value.
trend
String
Trend of validation results.
expectValue
Double
Expected value.
op
String
Comparison operator.
projectName
String
Name of the engine or data source for data quality validation.
tableName
String
Name of the table being validated.
templateId
Integer
ID of the validation template used.
checkerType
Integer
Type of validator.
ruleName
String
Name of the rule.
isPrediction
Boolean
Whether it is a prediction result. Valid values:
-
true: Is a prediction result.
-
false: Is not a prediction result.
comment
String
Description of the validation rule.
eventCode
String
Extension event code.
-
Data quality rule pre-operation events (batch create, update, delete)
-
Message payload format (content of the
datafield in event messages) for pre-batch create data quality rules events is shown in the following example.{ "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": "Table row count greater than 0", "enabled": true, "severity": "High", "description": "Data quality rule creation operation check test", "templateCode": "system:table:table_count:fixed:0", "samplingConfig": { "metric": "count" }, "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 0" }, "critical": { "expression": "$checkValue <= 0" } } } } ] } }Important field descriptions are shown in the following table.
Field name
Field type
Description
projectId
List
DataWorks project space ID.
operator
String
Operator user UID.
operationTime
Long
Operation time.
dataQualityTaskId
Long
ID of the data quality monitoring associated with the rule, can be empty.
target
DataQualityTarget
Monitored object of the data quality rule.
databaseType
String
Database type of the table-type dataset.
-
MaxCompute
-
EMR
-
CDH
-
Hologres
-
AnalyticDB for PostgreSQL
tableGuid
String
Unique ID of the table in Data Map.
rules
List<DataQualityRule>
List of data quality rules.
name
String
Rule name.
enabled
Boolean
Whether the rule is enabled.
severity
String
Rule level for business (corresponds to strong/weak rules on the page).
-
High
-
Normal
description
String
Rule description information.
templateCode
String
Rule template referenced when creating the rule
samplingConfig
SamplingConfig
Settings required for sample collection.
metric
String
Name of the sampling metric.
-
Count: Table row count
-
Min: Field minimum value
-
Max: Field maximum value
-
Avg: Field mean value
-
DistinctCount: Number of unique field values
-
DistinctPercent: Ratio of unique field values to total rows
-
DuplicatedCount: Number of duplicate field values
-
DuplicatedPercent: Ratio of duplicate field values to total rows
-
TableSize: Table size
-
NullValueCount: Number of rows with null field values
-
NullValuePercent: Proportion of null field values
-
GroupCount: Number of rows for each value after grouping by field value
-
CountNotIn: Number of rows with enum values that don't match
-
CountDistinctNotIn: Number of unique values that don't match enum values
-
UserDefinedSql: Sample collection using custom SQL
checkingConfig
CheckingConfig
Sample validation settings.
type
String
Threshold calculation method
-
Fixed
-
Fluctation
-
FluctationDiscreate
-
Auto
-
Average
-
Variance
thresholds
Thresholds
Threshold settings.
expected
Threshold
Expected threshold settings.
expression
String
Threshold expression.
critical
Threshold
Threshold settings for critical warnings.
-
-
Message payload format (content of the
datafield in event messages) for pre-batch update data quality rules events is shown in the following example.{ "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": "Table row count greater than 0", "enabled": true, "severity": "High", "description": "Data quality rule creation operation check test", "templateCode": "system:table:table_count:fixed:0", "samplingConfig": { "metric": "count" }, "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 0" }, "critical": { "expression": "$checkValue <= 0" } } } } }Important field descriptions are shown in the following table.
Field name
Field type
Description
eventCode
String
Event code.
projectId
Long
Project space ID.
tenantId
Long
Tenant ID.
operator
String
User UID.
operationTime
Long
Operation time.
id
Long
Rule ID.
name
String
Rule name.
enabled
Boolean
Whether the rule is enabled.
true: Enabled.
false: Disabled.
severity
String
Rule level for business (corresponds to strong/weak rules on the page).
-
High
-
Normal
description
String
Rule description information.
templateCode
String
Partition settings for partitioned tables.
samplingConfig
SamplingConfig
Settings required for sample collection.
metric
String
Name of the sampling metric.
-
Count: Table row count
-
Min: Field minimum value
-
Max: Field maximum value
-
Avg: Field mean value
-
DistinctCount: Number of unique field values
-
DistinctPercent: Ratio of unique field values to total rows
-
DuplicatedCount: Number of duplicate field values
-
DuplicatedPercent: Ratio of duplicate field values to total rows
-
TableSize: Table size
-
NullValueCount: Number of rows with null field values
-
NullValuePercent: Proportion of null field values
-
GroupCount: Number of rows for each value after grouping by field value
-
CountNotIn: Number of rows with enum values that don't match
-
CountDistinctNotIn: Number of unique values that don't match enum values
-
UserDefinedSql: Sample collection using custom SQL
checkingConfig
CheckingConfig
Sample validation settings.
type
String
Threshold calculation method
-
Fixed
-
Fluctation
-
FluctationDiscreate
-
Auto
-
Average
-
Variance
thresholds
Thresholds
Threshold settings.
expected
Threshold
Expected threshold settings.
expression
String
Threshold expression.
critical
Threshold
Threshold settings for critical warnings.
-
-
Message payload format (content of the
datafield in event messages) for pre-batch delete data quality rules events is shown in the following example.{ "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 } }Important field descriptions are shown in the following table.
Field name
Field type
Description
projectId
List
DataWorks project space ID.
operator
String
Operator user UID.
operationTime
Long
Operation time.
ids
List<Long>
List of IDs of data quality rules to be deleted.
tenantId
String
Tenant ID.
eventCode
String
Event code.
-
Message payload format (content of the
datafield in event messages) for pre-update data quality rule events is shown in the following example.{ "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": "Table row count greater than 0", "enabled": true, "severity": "High", "description": "Data quality rule creation operation check test", "templateCode": "system:table:table_count:fixed:0", "samplingConfig": { "metric": "count" }, "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 0" }, "critical": { "expression": "$checkValue <= 0" } } } } }Important field descriptions are shown in the following table.
Field name
Field type
Description
eventCode
String
Event code.
projectId
Long
Project space ID.
tenantId
Long
Tenant ID.
operator
String
User UID.
operationTime
Long
Operation time.
id
Long
Rule ID.
name
String
Rule name.
enabled
Boolean
Whether the rule is enabled.
true: Enabled.
false: Disabled.
severity
String
Rule level for business (corresponds to strong/weak rules on the page).
-
High
-
Normal
description
String
Rule description information.
templateCode
String
Partition settings for partitioned tables.
samplingConfig
SamplingConfig
Settings required for sample collection.
metric
String
Name of the sampling metric.
-
Count: Table row count
-
Min: Field minimum value
-
Max: Field maximum value
-
Avg: Field mean value
-
DistinctCount: Number of unique field values
-
DistinctPercent: Ratio of unique field values to total rows
-
DuplicatedCount: Number of duplicate field values
-
DuplicatedPercent: Ratio of duplicate field values to total rows
-
TableSize: Table size
-
NullValueCount: Number of rows with null field values
-
NullValuePercent: Proportion of null field values
-
GroupCount: Number of rows for each value after grouping by field value
-
CountNotIn: Number of rows with enum values that don't match
-
CountDistinctNotIn: Number of unique values that don't match enum values
-
UserDefinedSql: Sample collection using custom SQL
checkingConfig
CheckingConfig
Sample validation settings.
type
String
Threshold calculation method
-
Fixed
-
Fluctation
-
FluctationDiscreate
-
Auto
-
Average
-
Variance
thresholds
Thresholds
Threshold settings.
expected
Threshold
Expected threshold settings.
expression
String
Threshold expression.
critical
Threshold
Threshold settings for critical warnings.
-
Data quality monitoring pre-operation events (create, update, clone, batch delete)
-
Message payload format (content of the
datafield in event messages) for pre-create and pre-update data quality monitoring events is shown in the following example.{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "create-data-quality-evaluation-task", "name": "Table data accuracy monitoring", "description": "After the scheduling instance that writes data to the table runs successfully, trigger monitoring to check whether the output data meets expectations", "target": { "databaseType": "emr", "tableGuid": "an-emr-table-guid" }, "trigger": { "type": "ByScheduledTaskInstance", "taskIds": [ 1001, 1002 ] }, "dataSourceId": 201, "runtimeConf": "{ \"queue\": \"default\", \"sqlEngine\": \"HIVE_SQL\" }", "rules": [ { "name": "Table row count greater than 0", "enabled": true, "severity": "High", "description": "Data quality rule creation operation check test", "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": "Table row count greater than 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 } }Important field descriptions are shown in the following table.
Field name
Field type
Description
eventCode
String
Event code.
name
String
Name of the quality monitoring task.
description
String
Description of the data quality validation task.
target
DataQualityTarget
Monitored object of the data quality validation task.
databaseType
String
Database type of the table-type dataset.
-
MaxCompute
-
EMR
-
CDH
-
Hologres
-
AnalyticDB for PostgreSQL
tableGuid
String
Unique ID of the table in Data Map.
trigger
DataQualityEvaluationTaskTrigger
Trigger configuration for the data quality validation task.
type
String
What event can trigger quality validation task execution.
-
ByScheduledTaskInstance: Scheduled instance runs successfully, only supported in public cloud scenarios.
-
ByManual: Manually triggered.
taskIds
Array<Long>
Effective when type=ByScheduledTaskInstance, specifically indicates which scheduling node instances trigger upon successful execution.
dataSourceId
Long
Data source to be used when executing the data quality validation task.
runtimeConf
String
Settings when using the data source, currently only supports specifying EMR yarn queue and setting SQL engine to SPARK-SQL when collecting EMR tables.
rules
List<DataQualityRule>
List of data quality rules. For more parameter details, see Data quality rule pre-operation event parameters.
hooks
Array<DataQualityEvaluationTaskHook>
Callback settings during the lifecycle of the data quality validation task instance, currently only supports one hook to block scheduling tasks.
type
String
Type of subsequent processing action.
BlockTaskInstance: Block DataWorks task instance execution.
condition
String
Hook trigger condition.
notifications
Array<Notification>
Specific message notification settings.
projectId
Long
Project space ID.
tenantId
Long
Tenant ID.
operator
String
Operator user UID.
operationTime
Long
Operation time.
-
-
Message payload format (content of the
datafield in event messages) for pre-clone data quality monitoring events is shown in the following example.{ "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 } }Important field descriptions are shown in the following table.
Field name
Field type
Description
projectId
Long
DataWorks project space ID.
tenantId
String
Tenant ID.
operator
String
Operator user UID.
operationTime
Long
Operation time.
targets
List<DataQualityTarget>
Target data quality monitoring objects to clone to.
databaseType
String
Database type of the table-type dataset.
-
MaxCompute
-
EMR
-
CDH
-
Hologres
-
AnalyticDB for PostgreSQL
tableGuid
String
Unique ID of the table in Data Map.
id
Long
Source data quality monitoring ID used for cloning.
eventCode
String
Event code.
-
-
Message payload format (content of the
datafield in event messages) for pre-batch delete data quality monitoring events is shown in the following example.{ "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 } }Important field descriptions are shown in the following table.
Field name
Field type
Description
projectId
Long
DataWorks project space ID.
operator
String
Operator user UID.
operationTime
Long
Operation time.
ids
List<Long>
List of IDs of data quality monitoring to be deleted.
tenantId
String
Tenant ID.
eventCode
String
Event code.
Data quality monitoring alert subscription pre-operation events (create, update, delete)
-
Message payload format (content of the
datafield in event messages) for pre-create and pre-delete data quality monitoring alert subscription events is shown in the following example.{ "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 } }Important field descriptions are shown in the following table.
Field name
Field type
Description
projectId
Long
DataWorks project space ID.
operator
String
Operator user UID.
operationTime
Long
Operation time.
dataQualityEvaluationTaskId
Long
Data quality monitoring ID.
channel
String
Subscription message delivery channel type.
-
Mail - Email
-
Sms - Text message
-
Phone - Phone call
-
Feishu - Lark
-
Weixin - WeChat
-
Dingding - DingTalk
-
Webhook - Custom Webhook
receiverValue
String
Specific target for subscription message delivery.
eventCode
String
Event code.
-
-
Message payload format (content of the
datafield in event messages) for pre-update data quality monitoring events is shown in the following example.{ "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 }Important field descriptions are shown in the following table.
Field name
Field type
Description
projectId
Long
DataWorks project space ID.
operator
String
Operator user UID.
operationTime
Long
Operation time.
dataQualityEvaluationTaskId
Long
Data quality monitoring ID.
currentChannel
String
Channel type for the subscription message delivery being updated.
-
Mail - Email
-
Sms - Text message
-
Phone - Phone call
-
Feishu - Lark
-
Weixin - WeChat
-
Dingding - DingTalk
-
Webhook - Custom Webhook
currentReceiverValue
String
Specific target for the subscription message delivery being updated.
updatedChannel
String
Updated subscription message delivery channel type.
-
Mail - Email
-
Sms - Text message
-
Phone - Phone call
-
Feishu - Lark
-
Weixin - WeChat
-
Dingding - DingTalk
-
Webhook - Custom Webhook
updatedReceiverValue
String
Updated specific target for subscription message delivery.
eventCode
String
Event code.
-
Tenant-level events
Tenant-level modules generate tenant-level events, such as events generated when deleting a workspace in the management console. Use the event list below to identify which events are standard events and which are extension point events, along with their message formats.
The following message format tabs contain partial content only. For complete messages sent to EventBridge or Function Compute, refer to Appendix: Message Format.
Management console event list
Event list
|
Event type |
Event (and triggering operation) |
Standard event |
Extension point event |
EventBridge event type (Type) |
Extension event type (eventCode) |
|
Delete project space |
Pre-delete project space event |
|
|
|
|
|
Delete trailing spaces. |
|
|
|
|
Message format
Message payload format: Delete project space event
-
Message payload format (content of the
datafield in event messages) for tenant pre-delete project space events is shown in the following example.{ "data": { "eventCode": "delete-project", "projectId": 7***7, // Workspace ID "tenantId": 2807****0784, // Tenant ID "operator": "19***735 }Field descriptions are as follows:
Field name
Field type
Description
operator
String
Delete a user UID from a DataWorks workspace.
projectId
Long
ID of the DataWorks workspace to be deleted.
tenantId
Long
Tenant ID to which the workspace to be deleted belongs.
eventCode
String
Extension event code.
-
Message payload format (content of the
datafield in event messages) for tenant post-delete project space events is shown in the following example.{ "data": { "eventCode": "project-deleted", "tenantId": 28***656, "blockBusiness": false, "projectName": "test2", "projectId": 9***4, "operator": "19***735", "timestamp": 1702260556896 } }Field descriptions are as follows:
Field name
Field type
Description
operator
String
Delete the user UID from the DataWorks workspace.
projectId
Long
ID of the DataWorks workspace to be deleted.
projectName
String
Name of the DataWorks workspace to be deleted.
tenantId
Long
Tenant ID to which the workspace to be deleted belongs.
timestamp
Long
Timestamp when the message was sent.
eventCode
String
Extension event code.
Upload and download event list
Event list
|
Event type |
Event (and triggering operation) |
Standard event |
Extension point event |
EventBridge event type (Type) |
Extension event type (eventCode) |
|
Data upload and download |
Data download pre-event - file generation |
|
|
dataworks:ResourcesDownload:DownloadResources |
download-resources |
|
Data download pre-event - file download |
|
|
dataworks:ResourcesDownload:DownloadResourcesExecute |
download-resources-execute |
|
|
Data upload pre-event |
|
|
dataworks:ResourcesUpload:UploadDataToTable |
upload-data-to-table |
Message format
Data upload and download
-
Message payload format (content of the
datafield in event messages) for data download pre-event - file generation is shown in the following example.{ "data": { "eventCode": "download-resources", "moduleType": "sqlx_query", "operatorBaseId": "123936573******", "operatorUid": "14931896037*******", "fileName": "File name.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", }Field descriptions are as follows:
Field name
Field type
Description
moduleType
String
Source of downloaded data:
-
entity_transfer: Data downloaded from .
-
develop_query: Data queried and downloaded using SQL statements in Data Development (DataStudio).
-
sqlx_query: Data queried and downloaded using SQL statements in .
-
dw_excel: Data downloaded from .
operatorBaseId
String
BaseID of the user performing the download operation.
operatorUid
String
UID of the user performing the download operation.
fileName
String
Name of the downloaded file.
fileSize
Long
Size of the downloaded file.
datasourceId
String
ID of the data source to which the downloaded data belongs.
datasourceName
String
Name of the data source to which the downloaded data belongs.
queryDwProjectId
String
ID of the DataWorks workspace to which the downloaded data belongs.
queryDwProjectName
String
Identifier of the DataWorks workspace to which the downloaded data belongs.
dataRowSize
Long
Number of data rows downloaded.
sqlText
String
SQL code used when querying and downloading data with SQL statements.
eventCode
String
Extension event type.
-
-
Message payload format (content of the
datafield in event messages) for data download pre-event - file download is shown in the following example.{ "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": "File name.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" }Important field descriptions are shown in the following table.
Field name
Field type
Description
moduleType
String
Source of downloaded data:
-
entity_transfer: Data downloaded from .
-
develop_query: Data queried and downloaded using SQL statements in Data Development (DataStudio).
-
sqlx_query: Data queried and downloaded using SQL statements in .
-
dw_excel: Data downloaded from .
operatorBaseId
String
BaseID of the user performing the download operation.
operatorUid
String
UID of the user performing the download operation.
fileName
String
Name of the downloaded file.
fileSize
Long
Size of the downloaded file.
datasourceId
String
ID of the data source to which the downloaded data belongs.
datasourceName
String
Name of the data source to which the downloaded data belongs.
queryDwProjectId
String
ID of the DataWorks workspace to which the downloaded data belongs.
queryDwProjectName
String
Identifier of the DataWorks workspace to which the downloaded data belongs.
dataRowSize
Long
Number of data rows downloaded.
sqlText
String
SQL code used when querying and downloading data with SQL statements.
ip
String
IP address of the user performing the download operation.
eventCode
String
Extension event type.
-
-
Message payload format (content of the
datafield in event messages) for data upload pre-events is shown in the following example.{ "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" }Field descriptions are as follows:
Field name
Field type
Description
uploadSourceType
String
Source of uploaded data:
-
LOCAL: Upload local file data.
-
OSS: Upload OSS file data.
-
DW_EXCEL: Upload DataWorks data.
-
HTTP: Upload HTTP file data.
optTableType
String
Select to upload data to an existing table or create a new table in the specified engine data source. Valid values:
-
CREATE: Upload data to a new table.
-
IMPORT: Upload data to an existing table.
targetEngineType
String
Select which type of engine to upload data to. Valid values:
-
MaxCompute
-
EMR Hive
-
Hologres
writeType
String
Method of writing data to the destination table. Valid values:
-
OVERWRITE: Overwrite existing table data.
-
APPEND: Append uploaded data to the destination table.
conflictMode
String
Strategy for handling primary key conflicts when uploading data to the destination table:
-
IGNORE: Ignore uploaded data when primary key conflicts exist.
-
REPLACE: Delete rows with conflicting data first, then insert uploaded data into those rows. Fields not specified in the uploaded data are written as NULL.
-
UPDATE: Overwrite original table data with uploaded data, covering only specified fields. Unspecified fields remain unchanged.
operatorBaseId
String
BaseID of the user performing the upload operation.
operatorUid
String
UID of the user performing the upload operation.
datasourceId
String
Which data source to upload data to, fill in the data source ID here.
datasourceName
String
Which data source to upload data to, fill in the data source name here.
tableGuid
String
Table Guid. Examples:
-
MaxCompute:
odps.maxcomputeProject.tableName. -
EMR_Hive:
emr_hive.emr cluster id.schema.tableName. -
Holo:
holo.hologres-instance-id.database.
queryDwProjectId
String
ID of the DataWorks workspace to which the table belongs.
queryDwProjectName
String
Name of the DataWorks workspace to which the table belongs.
fileSize
Long
Size of the uploaded file, in bytes.
eventCode
String
Extension event code.
-
Appendix: Message format
Message format for EventBridge
After configuring OpenEvent and adding an event distribution channel, when workspace-level or tenant-level events are triggered in DataWorks, messages are filtered based on the event type (Type) configured in EventBridge. The following shows the message format DataWorks sends to EventBridge through the event distribution channel.
{
"datacontenttype": "application/json;charset=utf-8",// Format of the data parameter content. datacontenttype only supports application/json format.
"data": {
// Message content varies by message type. The following are two fixed fields in all event messages. For details about each event message, see above.
"tenantId": 28378****10656,// Tenant ID. Each Alibaba Cloud account in DataWorks corresponds to one tenant, and each tenant has its own tenant ID. You can view this value in the user information at the top right of DataWorks Data Development.
"eventCode": "xxxx"//
},
"id": "539fd8f4-4ea1-4625-aa8b-6c906674****",// Event ID. Unique identifier for the event.
"source": "acs.dataworks",// Event source, the service providing the event, indicating this message is pushed by DataWorks.
"specversion": "1.0",
"subject": "",
"time": "2020-11-19T21:04:41+08:00",// Time when the event occurred.
"type": "dataworks:InstanceStatusChanges:InstanceStatusChanges",// Event type. This event type can be used to filter all messages pushed by DataWorks in the EventBridge console. Each event has a different Type value. See above for different event message types.
"aliyunaccountid": "123456789098****",// Alibaba Cloud account ID
"aliyunpublishtime": "2020-11-19T21:04:42.179PRC",// Time when EventBridge received the event.
"aliyuneventbusname": "default",// Name of the EventBridge event bus that receives DataWorks event messages.
"aliyunregionid": "cn-hangzhou",// Region that receives the event.
"aliyunpublishaddr": "172.25.XX.XX"
}
A complete event message includes the message payload format and basic information such as the message ID, source, and occurrence time. Important field descriptions are shown in the following table.
|
Field name |
Field type |
Description |
|
data |
object |
Message payload format. The message format and field meanings vary by event type. For details, see: Data Development event message format: Data Development event list. Data Integration event message format: Data Integration event list. Operation Center event message format: Operation Center event list. Security Center event message format: Security Center event list. Data Quality event message format: Data Quality event list. |
|
id |
String |
Unique ID of the event message. Used to locate the event message. |
|
type |
String |
Event type. Describes the event type related to the event source. Example values:
This event type can be used to filter all messages pushed by DataWorks in the EventBridge console. Each event has a different Type value. See above for different event message types. |
Message format for Function Compute
When you configure Extensions in DataWorks using Function Compute, DataWorks sends messages for corresponding extension point events to Function Compute in JSON format. The following shows the message format sent to Function Compute.
{
"blockBusiness": true,
"eventCategoryType": "resources-download",// Event category
"eventType": "upload-data-to-table",// Event type
"extensionBizId": "job_6603***070",
"messageBody": {
// Message content varies by message type. The following are two fixed fields in all event messages. For details about each event message, see above.
"tenantId": 28378****10656,// Tenant ID. Each Alibaba Cloud account in DataWorks corresponds to one tenant, and each tenant has its own tenant ID. You can view this value in the user information at the top right of DataWorks Data Development.
"eventCode": "xxxx"//
},
"messageId": "52d44ee7-b51f-4d4d-afeb-*******"// Event ID. Unique identifier for the event.
}
Important field descriptions are as follows:
|
Field name |
Field type |
Description |
|
|
messageId |
String |
Event ID, unique identifier for the event. |
|
|
messageBody |
Specific event message pushed by DataWorks, which you can use in extension development. Message content varies by message type. |
||
|
tenantId |
Tenant ID. Each Alibaba Cloud account in DataWorks corresponds to one tenant, and each tenant has its own tenant ID. You can view this value in the user information at the top right of DataWorks Data Development |
||
|
eventCode |
Event code. Used to identify a specific type of event message. For eventCode values corresponding to each event type, see the Extension event type (eventCode) column in the Development Reference: Event List and Message Format table. |
||