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 Open Events Overview.
-
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 Studio or scheduled 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 Studio 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-event for file deletion Delete a node in the development environment Note
Deleted files are moved to the recycle bin. |
|
|
|
|
|
Pre-event for file submission |
|
|
|
|
|
|
Pre-event for file deployment |
|
|
|
|
|
|
Pre-event for code execution |
|
|
|
|
|
|
Table change |
Pre-event for submitting a table to development |
|
|
|
|
|
Pre-event for submitting a table to production |
|
|
|
|
Message format
Node change events (create and update)
The following example shows the message body format (the content of the data field in the event message) for node creation, modification, and deletion events.
{
"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
}
}
The fields are described as follows:
|
Field |
Type |
Description |
|
nodeName |
String |
The node name. |
|
programType |
String |
The code type of the file. You can call the ListFileType operation to query the code type of the file, or refer to File code types to view file code types. |
|
cronExpress |
String |
The cron expression for periodic scheduling. This parameter corresponds to the of a Data Studio task in the DataWorks console. After you configure the schedule and scheduled time, DataWorks automatically generates the corresponding cron expression. Examples:
Note
The cron expression has the following limits:
|
|
schedulerType |
String |
The scheduling type of the task instance. Valid values:
|
|
ownerId |
String |
The 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 |
The task priority. Valid values: 1, 3, 5, 7, and 8. A larger value indicates a higher priority. |
|
baselineId |
Long |
The baseline ID. |
|
repeatability |
Boolean |
Indicates whether the node can be rerun:
|
|
modifyTime |
Long |
The time when the node was last modified. |
|
createTime |
Long |
The time when the node was created. |
|
nodeId |
Long |
The node ID. |
|
projectId |
Long |
The ID of the workspace to which the node belongs. |
|
tenantId |
Long |
The ID of the tenant to which the node belongs. |
|
operator |
String |
The UID of the user who created, modified, or deleted the node. |
|
eventCode |
String |
The extension event code. |
File change events (submit, deploy, run, and delete)
-
The following example shows the message body format (the content of the
datafield in the event message) for file submission and deployment events.{ "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 } }The fields are described as follows:
Field
Type
Description
operator
String
The UID of the user who submitted or deployed the file.
projectId
Long
The ID of the workspace to which the file belongs.
tenantId
Long
The tenant ID.
nodeId
Long
The scheduling node ID.
fileType
Long
The code type of the file. You can call the ListFileType operation to query the code type of the file, or refer to File code types to view file code types.
fileName
String
The file name.
fileOwner
String
The file owner.
extensionBizId
String
The ID of the extension checkpoint process.
changeType
String
The change type of the file:
-
0: Create a file.
-
1: Update a file.
-
2: Delete a file.
fileCreateTime
String
The time when the file was created, in the format of
yyyy-MM-dd HH:mm:ss.fileId
Long
The file ID.
fileVersion
Long
The file version.
dataSourceName
String
The data source name.
eventCode
String
The extension event code.
-
-
The following example shows the message body format (the content of the
datafield in the event message) for file deletion and execution events.{ "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 } }The fields are described as follows:
Field
Type
Description
operator
String
The UID of the user who deleted or ran the file.
projectId
Long
The ID of the workspace to which the file belongs.
tenantId
Long
The tenant ID.
nodeId
Long
The scheduling node ID.
fileType
Long
The code type of the file. You can call the ListFileType operation to query file code types, or refer to File code types for details.
fileName
String
The file name.
fileOwner
String
The file owner.
extensionBizId
String
The Extensions checkpoint process ID.
fileCreateTime
String
The time when the file was created, in the format of
yyyy-MM-dd HH:mm:ss.fileId
Long
The file ID.
eventCode
String
The Extensions event code.
Table change events (submit a table to the development environment or deploy a table to the production environment)
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"operator": "**************",
"projectId": 12*****56,
"tenantId": 12******56,
"extensionBizId": "12***56",
"tableName":"table1",
"tableType":"ODPS",
"maxComputeProject":"project1"
}
}
The following table describes the fields:
|
Field |
Type |
Description |
|
operator |
String |
The UID of the user who submitted or deployed the table. |
|
projectId |
Long |
The workspace ID. |
|
tenantId |
Long |
The tenant ID. |
|
extensionBizId |
String |
The Extensions checkpoint process ID. |
|
tableName |
String |
The table name. |
|
tableType |
String |
The table type. The value is ODPS. |
|
maxComputeProject |
String |
The name of the corresponding MaxCompute project. |
Data Integration 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 event |
Start a task |
|
|
|
|
|
Batch start tasks |
|
|
|
|
Message format
Node change event- Start a task
The following example shows the message body format of the node change event - start a task event (the content of the data field in the event message).
## message v1 task started 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 task started 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 task started 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"
}
}
}
##Regex
{
"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"
}
}
The following table describes the fields:
|
Field |
Type |
Description |
|
projectId |
Long |
The DataWorks workspace ID. |
|
operator |
String |
The UID of the operator. |
|
extensionBizName |
String |
The solution name. |
|
showTableMapping |
Boolean |
Indicates whether table mapping information is returned.
If the number of tables exceeds 500, showTableMapping defaults to |
|
tableMapping |
JSONArray |
The table mapping. |
|
srcDatasourceName |
String |
The name of the source data source. |
|
srcDatabaseName |
String |
The name of the source database. |
|
srcTable |
String |
The name of the source table. |
|
dstDatasourceName |
String |
The name of the destination data source. |
|
dstTable |
String |
The name of the destination table. |
|
tenantId |
Long |
The tenant ID. |
|
eventCode |
String |
The Extensions event code. |
Node change event- Batch start tasks
The following example shows the message body format of the node change event - batch start tasks event (the content of the data field in the event message).
{
"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
}
}
The following table describes the fields:
|
Field |
Type |
Description |
|
projectId |
Long |
The DataWorks workspace ID. |
|
operator |
String |
The UID of the operator. |
|
extensionBizName |
String |
The solution name. |
|
setting |
JSONObject |
The startup configuration. |
|
startDateTime |
String |
The start time. |
|
timeZone |
String |
The start time zone. |
|
tableMapping |
JSONArray |
The table mapping. |
|
srcDatasourceName |
String |
The name of the source data source. |
|
srcDatabaseName |
String |
The name of the source database. |
|
srcTable |
String |
The name of the source table. |
|
dstDatasourceName |
String |
The name of the destination data source. |
|
dstTable |
String |
The name of the destination table. |
|
showTableMapping |
Boolean |
Indicates whether table mapping information is returned.
If the number of tables exceeds 500, showTableMapping defaults to |
|
tenantId |
Long |
The tenant ID. |
|
eventCode |
String |
The Extensions event code. |
Operation Center event list
Event list
Modifying the scheduling resource group or changing the owner triggers node-change-updated.
|
Event type |
Event (and triggering operation) |
Standard event |
Extension point event |
EventBridge event type (Type) |
Extension event code (eventCode) |
|
Node change |
Delete a node
|
|
|
|
|
|
Pre-event for node undeploy Directly undeploy a node from the scheduled tasks in the production environment Note
This operation also deletes the node in Data Studio and moves it to the recycle bin. |
|
|
|
|
|
|
Pre-event for node freeze Important
This event also triggers the node-change-updated event. |
|
|
|
|
|
|
Pre-event for node unfreeze Important
This event also triggers the node-change-updated event. |
|
|
|
|
|
|
Node backfill data |
Pre-event for backfill data |
|
|
|
|
|
Task status change |
Scheduled task status change |
|
|
|
|
|
Instance changes |
Freeze instance |
|
|
|
|
|
Unfreeze instance |
|
|
|
|
|
|
Terminate instance |
|
|
|
|
|
|
Rerun instance
|
|
|
|
|
|
|
Set instance to successful |
|
|
|
|
|
|
Remove specified upstream dependencies of an instance |
|
|
|
|
|
|
Pre-event for freezing an instance |
|
|
|
|
|
|
Pre-event for unfreezing an instance |
|
|
|
|
|
|
Pre-event for rerunning an instance |
|
|
|
|
|
|
Pre-event for setting an instance to successful |
|
|
|
|
|
|
Pre-event for terminating an instance |
|
|
|
|
|
|
Delete expired instances |
|
|
|
|
|
|
Workflow status changes |
Workflow status changes
|
|
|
|
|
|
Monitoring alerts |
Monitoring alerts |
|
|
|
|
Message format
Node change events (delete, undeploy, freeze, and unfreeze)
-
The following example shows the message body format of a node deletion event (the content of the
datafield in the event message).{ "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 } }The following table describes the fields:
Field
Type
Description
nodeName
String
The node name.
programType
String
The code type of the file. You can call the ListFileType operation to query the code type of a file, or refer to File code types for the code types.
cronExpress
String
The cron expression for periodic scheduling.
This parameter corresponds to the of a Data Studio task in the DataWorks console.
After you configure the schedule and scheduled time, DataWorks automatically generates the corresponding cron expression. Examples:
-
Scheduled at 05:30 every day:
00 30 05 * * ? -
Scheduled at the 15th minute of every hour:
00 15 * * * ? -
Scheduled every 10 minutes:
00 00/10 * * * ? -
Scheduled every 10 minutes from 08:00 to 17:00 every day:
00 00-59/10 8-17 * * * ? -
Scheduled at 00:20 on the 1st of every month:
00 20 00 1 * ? -
Scheduled every 3 months starting from 00:10 on January 1:
00 10 00 1 1-12/3 ? -
Scheduled at 00:05 every Tuesday and Friday:
00 05 00 * * 2,5
NoteThe cron expression has the following limits:
-
The minimum scheduling interval is 5 minutes.
-
The earliest scheduling time each day is 00:05.
schedulerType
String
The scheduling type of the task instance. Valid values:
-
0: NORMAL. The task is a normal scheduled task that is triggered by periodic scheduling.
-
1: MANUAL. The task is a manual task that is not triggered by periodic scheduling.
-
2: PAUSE. The task is a frozen task. The task is triggered by periodic scheduling, but it is set to failed upon scheduling.
-
3: SKIP. The task is a dry-run task. The task is triggered by periodic scheduling, but it is set to successful upon scheduling.
-
4: SKIP_UNCHOOSE. The task is an unselected task in a temporary workflow. It exists only in a temporary workflow and is set to successful upon scheduling.
-
5: SKIP_CYCLE. The task is a weekly or monthly task that has not reached its run cycle. The task is triggered by periodic scheduling, but it is set to successful upon scheduling.
-
6: CONDITION_UNCHOOSE. An upstream instance contains a branch (IF) node, and the downstream node is not selected by the branch node. The task is directly set to dry run.
-
7: REALTIME_DEPRECATED. The scheduled instance is generated in real time and has expired. The task is directly set to successful.
ownerId
String
The 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
The task priority. Valid values: 1, 3, 5, 7, and 8. A larger value indicates a higher priority.
baselineId
Long
The baseline ID.
repeatability
Boolean
Specifies whether the node can be rerun:
-
true: The node can be rerun.
-
false: The node cannot be rerun.
modifyTime
Long
The time when the node was last modified.
createTime
Long
The time when the node was created.
nodeId
Long
The node ID.
projectId
Long
The ID of the workspace to which the node belongs.
tenantId
Long
The ID of the tenant to which the node belongs.
operator
String
The UID of the user who created, modified, or deleted the node.
-
-
The following example shows the message body format of node freeze, unfreeze, and undeploy events (the content of the
datafield in the event message).{ "datacontenttype": "application/json;charset=utf-8", "data": { "operator": "19***735", "projectId": 12***56, "tenantId": 28***656, "nodeIds":[1,2,3], "extensionBizId": "12***56" } }The following table describes the fields:
Field
Type
Description
operator
String
The UID of the user who froze, unfroze, or undeployed the node.
projectId
Long
The ID of the workspace to which the node belongs.
tenantId
Long
The tenant ID.
nodeIds
Array
The list of node IDs that were operated on.
extensionBizId
String
The ID of the Extensions checkpoint process.
Backfill data for nodes
The following example shows the message body format of a backfill data event (the content of the data field in the event message).
{
"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"
}
}
The following table describes the fields:
|
Field |
Type |
Description |
|
name |
String |
The name of the backfill data workflow. |
|
rootNodeId |
Long |
The ID of the root node of the backfill data workflow. |
|
rootNodeProjectId |
Long |
The ID of the workspace to which the root node of the backfill data workflow belongs. |
|
includeNodeIds |
Array |
The list of node IDs included in the backfill data operation. |
|
excludeNodeIds |
Array |
The list of node IDs excluded from the backfill data operation. Nodes in this list generate dry-run instances, which are set to successful upon scheduling without executing script content. |
|
bizBeginTime |
String |
The start time of the task. This parameter is required only for hourly scheduled tasks. The format is |
|
bizEndTime |
String |
The end time of the task. This parameter is required only for hourly scheduled tasks. The format is |
|
isParallel |
Boolean |
Specifies whether the backfill data operation can run in parallel:
|
|
parallelGroup |
Integer |
The number of parallel groups. A value of 1 indicates no grouping. |
|
startFutureInstanceImmediately |
Boolean |
Specifies whether to skip the scheduled time and immediately run instances with future business dates:
|
|
order |
String |
The order in which backfill data instances are run based on business dates:
|
|
multipleTimePeriods |
String |
The business date ranges selected in segments. Example: |
|
tenantId |
Long |
The tenant ID. |
|
projectId |
Long |
The ID of the project in which the backfill data operation is performed. |
|
operator |
String |
The ID of the user who performed the backfill data operation. |
|
extensionBizId |
String |
The Extensions checkpoint process ID. |
|
eventCode |
String |
The Extensions event code. |
Task status change event
The following example shows the message body format (the content of the data field in the event message) of the scheduled task status change event.
{
"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
}
}
The following table describes the fields:
|
Field |
Type |
Description |
|
finishTime |
Long |
The time when the scheduled task instance finished running. |
|
beginWaitTimeTime |
Long |
The time when the scheduled task instance started waiting to run. |
|
beginRunningTime |
Long |
The time when the scheduled task instance started running. |
|
dagId |
Long |
You can use |
|
dagType |
Integer |
The DAG type. Valid values:
|
|
taskType |
Integer |
The scheduling type of the task instance. Valid values:
|
|
modifyTime |
Long |
The most recent modification time of the task instance. |
|
createTime |
Long |
The creation time of the task instance. |
|
appId |
Long |
The workspace ID. You can call the ListProjects operation to query workspace ID information. |
|
tenantId |
Long |
The tenant ID of the workspace to which the scheduled task instance belongs. |
|
opCode |
Integer |
The operation code of the scheduled task instance. You can ignore this field. |
|
flowId |
Long |
The workflow ID.
|
|
nodeId |
Long |
The node ID corresponding to the scheduled task instance. |
|
beginWaitResTime |
Long |
The time when the scheduled task instance started waiting for resources. |
|
taskId |
Long |
The ID of the scheduled task instance. |
|
status |
Integer |
The task status. Valid values:
|
|
eventCode |
String |
The Extensions event code. |
Instance change event (freeze, unfreeze, terminate, rerun, set to succeeded)
The following example shows the message body format (the content of the data field in the event message) of the instance change event.
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "freeze-instance",
"operator": "19***735",
"projectId": 12***8,
"projectType": "PROD",
"taskIds": [
523***9736
],
"tenantId": 28***656
}
}
The following table describes the fields:
|
Field |
Type |
Description |
|
operator |
String |
The UID of the user who performed the instance operation (such as freeze, unfreeze, terminate, rerun, or set to succeeded). |
|
projectType |
String |
The running environment.
|
|
taskIds |
List |
The list of instance IDs. |
|
projectId |
Long |
The DataWorks workspace ID. |
|
tenantId |
Long |
The tenant ID of the workspace to which the instance belongs. |
|
eventCode |
String |
The event code. |
Pre-instance change event ( freeze, unfreeze, rerun, set to succeeded, kill instance)
The following example shows the message body format (the content of the data field in the event message) of the pre-instance change event.
{
"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"
}
}
The following table describes the fields:
|
Field |
Type |
Description |
|
extensionBizId |
String |
The Extensions checkpoint process ID. |
|
extensionBizName |
String |
The name of the operation object. Multiple objects are described as "object name...". |
|
projectId |
Long |
The DataWorks workspace ID. |
|
taskIds |
List |
The list of instance IDs. |
|
tenantId |
String |
The tenant ID of the workspace to which the instance belongs. |
|
operator |
Long |
The UID of the user who performed the instance operation. |
|
eventCode |
String |
The extension point event code. |
Instance change event - Delete expired instances
The following example shows the message body format (the content of the data field in the event message) of the delete expired instances event.
{
"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
}
}
The following table describes the fields:
|
Field |
Type |
Description |
|
deletedTaskInstanceIds |
List |
The list of deleted instance IDs. |
|
owner |
String |
The user ID of the instance owner. |
|
operationTime |
Long |
The operation time. |
|
blockBusiness |
Boolean |
Specifies whether to block the process when an extension exists.
|
|
appId |
Long |
The DataWorks workspace ID. |
|
tenantId |
String |
The tenant ID of the workspace to which the instance belongs. |
|
operator |
Long |
The UID of the user who performed the instance operation. |
|
eventCode |
String |
The extension point event code. |
Remove specified upstream dependency from instance event
The following example shows the message body format (the content of the data field in the event message) of the remove specified upstream dependency from instance event:
{
"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
}
}
The following table describes the fields:
|
Field |
Type |
Description |
|
taskInstanceId |
Long |
The downstream instance ID. |
|
upstreamTaskInstanceIds |
List |
The list of upstream instance IDs from which the dependency is removed. |
|
operator |
String |
The UID of the user who performed the operation. |
|
operationTime |
Long |
The operation time. |
Workflow status change event
The following example shows the message body format (the content of the data field in the event message) of the workflow status change event.
{
"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
}
}
The following table describes the fields:
|
Field |
Type |
Description |
|
bizDate |
String |
The business date of the workflow. Format: |
|
createTime |
String |
The creation time of the workflow. Format: |
|
dagId |
Long |
The DAG ID. You can use this ID to obtain DAG details. |
|
dagName |
String |
The name of the workflow. |
|
dagType |
Integer |
The type of the DAG. Valid values:
|
|
flowId |
Integer |
The ID of the workflow to which the DAG belongs. |
|
flowName |
String |
The name of the workflow to which the DAG belongs. |
|
operator |
String |
The UID of the user who created the workflow. |
|
projectEnv |
String |
The environment of the workflow. Valid values:
|
|
tenantId |
Long |
The tenant ID of the workspace to which the scheduled instance belongs. |
|
projectId |
Long |
The workspace ID. |
|
status |
Integer |
The status of tasks in the workflow. Valid values:
|
|
eventCode |
String |
The Extensions event code. |
Monitoring alerts
-
The following example shows the message body format of a baseline alert (the content of the
datafield in the message).{ "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 } }The following table describes the fields.
Field
Type
Description
alarmType
String
The alert type. Valid values:
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
baselineId
Long
The baseline ID.
baselineName
String
The baseline name.
baselineStatus
Integer
The status of the baseline. Valid values:
-
-1: Abnormal.
-
1: Safe.
-
2: Warning.
-
3: Breached.
bizDate
Long
The timestamp of the business date.
inGroupId
Integer
The cycle number of the baseline instance. The value is
1for daily baselines. The value range is[1,24]for hourly baselines.nodeId
Long
The ID of the node that caused the baseline exception.
projectId
Long
The ID of the workspace to which the baseline belongs.
taskId
Long
The ID of the instance that caused the baseline exception.
tenantId
Long
The tenant ID.
eventCode
String
The Extensions event code.
-
-
The following example shows the message body format of an event alert (the content of the
datafield in the message).{ "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 } }The following table describes the fields.
Field
Type
Description
alarmType
String
The alert type. Valid values:
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
topicId
Long
The event ID.
taskStatus
String
The status of the node instance that triggered the event.
nodeId
Integer
The ID of the node that triggered the event.
projectId
Long
The ID of the workspace to which the node that triggered the event belongs.
taskId
Long
The ID of the node instance that triggered the event.
tenantId
Long
The tenant ID.
-
-
The following example shows the message body format of a task rule alert (the content of the
datafield in the message).NoteTypically, rule objects include task nodes, baselines, workspaces, and workflows.
{ "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 } }The following table describes the fields.
Field
Type
Description
alarmType
String
The alert type. Valid values:
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
nodeIds
String
The list of nodes that triggered the rule alert.
remindId
Long
The rule ID.
remindType
Stirng
The trigger condition of the rule. Valid values:
-
FINISHED: Completed.
-
UNFINISHED: Not completed.
-
ERROR: Error occurred.
-
CYCLE_UNFINISHED: Cycle not completed.
-
TIMEOUT: Timed out.
projectId
Long
The ID of the workspace to which the node that triggered the rule belongs.
remindUnit
String
The type of object that triggered the rule. Valid values:
-
NODE: Task node.
-
GATEWAY_RES: Exclusive resource group for scheduling.
-
DI_RES: Data Integration resource group.
tenantId
Long
The tenant ID.
taskId
String
The list of instances that triggered the rule alert.
remindName
String
The rule name.
-
-
The following example shows the message body format of a resource group rule alert (the content of the
datafield in the message).{ "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 } }The following table describes the fields.
Field
Type
Description
alarmType
String
The alert type. Valid values:
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
remindId
Long
The rule ID.
remindType
Stirng
The trigger condition of the rule. Valid values:
-
FINISHED: Completed.
-
UNFINISHED: Not completed.
-
ERROR: Error occurred.
-
CYCLE_UNFINISHED: Cycle not completed.
-
TIMEOUT: Timed out.
-
RES_GROUP_THRESHOL: Resource group utilization.
-
RES_GROUP_WAIT_AMOUNT: Number of instances waiting for resources in the resource group.
projectId
Long
The ID of the workspace to which the node that triggered the rule belongs.
remindUnit
String
The type of object that triggered the rule. Valid values:
-
NODE: Task node.
-
GATEWAY_RES: Exclusive resource group for scheduling.
-
DI_RES: Data Integration resource group.
tenantId
Long
The tenant ID.
remindName
String
The rule name.
resourceGroupIdentifier
String
The unique identifier of the resource group.
resourceGroupName
String
The name of the resource group.
resourceGroupType
String
The type of the resource group. 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) |
Extensions event code (eventCode) |
|
Approval center (V1) |
Create Permission Request Process V1 |
|
|
|
|
|
Complete Permission Request Process V1 |
|
|
|
|
|
|
Approval center (V2) |
Create Permission Request Process V2 |
|
|
|
|
|
Complete Permission Request Process V2 |
|
|
|
|
|
|
Security Center (permission request V1) |
Create Pre-event for Permission Request Form V1 |
|
|
|
|
|
Security Center (permission request V2) |
Create Pre-event for Permission Request Form V2 |
|
|
|
|
Message format
Approval center (permission request process V1)
-
The following example shows the message body format of the pre-event for creating a permission request (the content of the
datafield in the event message).{ "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", "flowId":"867***763", "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", "flowId":"867***763", "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 }The following table describes the fields:
Field
Type
Description
appId
Long
The workspace ID.
assignee
String
The BaseId of the approval handler.
assigneeName
String
The name of the approval handler.
comments
String
The remarks.
createTime
Long
The timestamp when the approval request was created.
flowId
String
The approval request ID.
status
String
The status of the approval request.
taskId
String
The approval task ID.
tenantId
String
The tenant ID.
updateTime
String
The timestamp when the approval request was updated.
eventType
String
The event type.
process
Object
The approval task object.
applicant
String
The applicant BaseID.
applicantName
String
The name of the applicant.
assignmentCategory
String
The type of the request content.
createTime
String
The timestamp when the approval request was created.
processDefinitionId
String
The workflow definition ID.
processId
String
The workflow ID.
status
String
The workflow status.
title
String
The workflow title.
updateTime
Long
The timestamp when the approval request was updated.
approvalContent
Object
The approval content object.
applyPeriod
String
The requested duration of the approval request.
applyReason
String
The reason for the approval request.
contentType
String
The type of the approval content.
odpsProjectName
String
The name of the approval project.
resourceSummary
String
The resource description.
tenantId
Long
The tenant ID.
workspaceId
Long
The workspace ID.
projectEnv
String
The environment to which the approval project belongs.
granteeAccounts
Array
The list of granted access.
.granteeId
String
The ID of the grantee.
granteeType
String
The type of the grantee.
granteeTypeSub
String
The sub-type of the grantee.
granteeName
String
The name of the grantee.
arrayData
Array
The list of granted content. For more information, see Appendix: Message format.
eventType
String
The event type.
-
The following example shows the message body format of the complete approval request event (the content of the
datafield in the event message).{ "datacontenttype": "application/json;charset=utf-8", "data": { "appId": 227859, "assignee": "286098539641742899", "eventCode": "approval-change-finished", "assigneeName": "******.******", "comments": "ces", "createTime": 1652095981000, "eventType": "approval", "flowId": "867***763", "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 } } }The following table describes the fields:
Field
Type
Description
appId
Long
The workspace ID.
assignee
String
The BaseId of the approval handler.
assigneeName
String
The name of the approval handler.
comments
String
The remarks.
createTime
Long
The timestamp when the approval request was created.
flowId
String
The approval request ID.
status
String
The status of the approval request.
taskId.
String
The approval task ID.
tenantId
String
The tenant ID.
updateTime
String
The timestamp when the approval request was last updated.
eventType
String
The event type.
process
Object
The approval task object.
applicant
String
The applicant BaseID.
applicantName
String
The name of the applicant.
assignmentCategory
String
The type of the request content.
createTime
String
The timestamp when the approval request was created.
processDefinitionId
String
The workflow definition ID.
processId
String
The workflow ID.
status
String
The workflow status.
title
String
The workflow title.
updateTime
Long
The timestamp when the approval request was last updated.
approvalContent
Object
The approval content object.
applyPeriod
String
The duration of the request.
applyReason
String
The reason for the request.
contentType
String
The content type.
odpsProjectName
String
The project name.
resourceSummary
String
The resource description.
tenantId
Long
The tenant ID.
workspaceId
Long
The workspace ID.
projectEnv
String
The environment.
granteeAccounts
Array
The list of access grants.
granteeId
String
The ID of the grantee.
granteeType
String
The grant type.
granteeTypeSub
String
The subtype of the grantee, which indicates the account type. Valid values:
-
Production account (account used for production scheduling): ACCOUNT_PRD(101)
-
Application account: ACCOUNT_APP(102)
-
Personal account: ACCOUNT_USER(103)
-
Department account: ACCOUNT_DEPT(104)
-
Mock account: ACCOUNT_MOCK(106)
-
Other user's account: ACCOUNT_OTHER_USER(105)
granteeName
String
The name of the grantee.
arrayData
Array
The list of grant content. For more information, see Appendix: Grant content list.
eventType
String
The event type.
-
Approval Center (permission request process V2)
Permission request process creation V2 (eventCode: approval-change-created-v2) and permission request process completion V2 (eventCode: approval-change-finished-v2) are workspace-level regular events. Unlike V1, the process.approvalContent field of V2 events uses the native ApplicationContent structure and identifies resource types through resource.defSchema and resource.defVersion.
A process completion event indicates that the approval process has ended (approved or rejected). This does not mean the underlying resource authorization has been executed successfully. To verify whether the authorization has taken effect, query through other operational APIs.
-
The following example shows the complete message format for a permission request process creation V2 event.
{ "datacontenttype": "application/json;charset=utf-8", "aliyunaccountid": "1234567890123456", "aliyunpublishtime": "2026-07-27T11:02:40.250Z", "data": { "eventType": "approval", "eventCode": "approval-change-created-v2", "blockBusiness": false, "tenantId": 123456789012345, "appId": 365379, "flowId": "357145652750839893", "flowCode": "MaxComputeTable", "expiredDate": 1787742157827, "processId": "357145652750839893", "status": "Pending", "createTime": 1785150160055, "updateTime": 1785150160055, "process": { "processId": "357145652750839893", "processDefinitionId": "securityCenter-4c08dea6-****-****-****-379822e800de", "title": "MaxComputeTable", "assignmentCategory": "MaxCompute", "approvalContent": { "tenantId": 123456789012345, "workspaceId": 365379, "applyReason": "Required for business queries", "applyPeriod": "1787742157827", "contentType": "application/json", "arrayData": [ { "createTime": "2026-07-27T19:02:39", "updateTime": "2026-07-27T19:02:40", "contentId": "rmAN77FxTOXsVFRXcLkg5", "processInstanceId": "357145652750839893", "tenantId": "123456789012345", "resource": { "defSchema": "MaxCompute", "defVersion": "v1.0.0", "metaData": { "table": "example_table", "schema": "default", "tenant": "123456789012345", "project": "example_project", "workspace": "365379" } }, "resourceIndex": "ce92c2e7e51a605c0ae0467f95588959", "grantee": { "principalType": "RAM_USER", "principalId": "110755000425****" }, "accessTypes": [ "select" ], "finalAccessTypes": [ "select" ], "deadline": 1787742157827, "expirationTime": 1787742157827, "status": "WAIT_APPROVAL", "operation": "Grant" } ], "applyType": "MaxComputeTable" }, "status": "Pending", "createTime": 1785150160055, "updateTime": 1785150160055, "applicant": "110755000425****", "applicantName": "example_user" } }, "aliyunoriginalaccountid": "1234567890123456", "specversion": "1.0", "aliyuneventbusname": "example-bus", "id": "8f7b4a38-af26-43e4-8277-a9f290ef632a", "source": "acs.dataworks", "time": "2026-07-27T11:02:40.246Z", "aliyunregionid": "cn-beijing", "type": "dataworks:ApprovalChange:ApprovalChangeCreatedV2" }The following table describes the top-level fields in
data. For complete sub-object field descriptions, see the Security Center pre-check event V2 section.Field
Type
Description
eventType
String
Fixed value:
approval.eventCode
String
The event code. Fixed value
approval-change-created-v2for creation events; fixed valueapproval-change-finished-v2for completion events.tenantId
Long
The DataWorks tenant ID.
appId
Long
The DataWorks workspace ID.
flowId
String
The request ID. In Security Center native processes, this is the same as
processId.flowCode
String
The request type. Example:
MaxComputeTable.processId
String
The approval process instance ID.
status
String
Set to
Pendingfor creation events; set toCompletedfor completion events.approvalAction
String
The approval action. Returned as
Agree(approved) orDeny(rejected) in completion events.assignee
String
The Base ID of the final approver. Typically returned in completion events.
createTime
Long
The event snapshot creation time. Unix timestamp in milliseconds.
updateTime
Long
The event snapshot update time. Unix timestamp in milliseconds.
process
Object
The approval process and request content.
process.processId
String
The approval process instance ID.
process.assignmentCategory
String
The resource category. Examples:
MaxCompute,DLF,HOLO. Do not rely solely on this field to identify the resource. UsearrayData[].resource.defSchemainstead.process.approvalContent
Object
The approval request content.
process.approvalContent.arrayData
Array
The Security Center native
ApplicationContentDTOlist. Each record represents a resource and a set of permissions.arrayData[].resource
Object
The Security Center native resource definition, containing
defSchema,defVersion, andmetaData.arrayData[].grantee
Object
The authorized principal, containing
principalTypeandprincipalId.arrayData[].accessTypes
Array<String>
The list of permissions requested by the user.
arrayData[].finalAccessTypes
Array<String>
The final permission list after approval trimming. Typically the same as
accessTypesat creation time.arrayData[].expirationTime
Long
The permission expiration time. Unix timestamp in milliseconds.
arrayData[].status
String
The request content status. Typically
WAIT_APPROVALfor creation events; typicallyCONFIRMEDfor approved completion events.arrayData[].operation
String
The permission operation direction. Typically
Grantfor permission request events.process.applicant
String
The Base ID of the applicant.
-
The following example shows the complete message format for a permission request process completion V2 event.
{ "datacontenttype": "application/json;charset=utf-8", "aliyunaccountid": "1234567890123456", "aliyunpublishtime": "2026-07-27T11:02:40.840Z", "data": { "eventType": "approval", "eventCode": "approval-change-finished-v2", "blockBusiness": false, "tenantId": 123456789012345, "appId": 365379, "flowId": "357145652750839893", "flowCode": "MaxComputeTable", "expiredDate": 1787742157827, "processId": "357145652750839893", "status": "Completed", "approvalAction": "Agree", "assignee": "110755000425****", "assigneeName": "example_user", "createTime": 1785150160788, "updateTime": 1785150160788, "process": { "processId": "357145652750839893", "processDefinitionId": "securityCenter-4c08dea6-****-****-****-379822e800de", "title": "MaxComputeTable", "assignmentCategory": "MaxCompute", "approvalContent": { "tenantId": 123456789012345, "workspaceId": 365379, "applyReason": "Required for business queries", "applyPeriod": "1787742157827", "contentType": "application/json", "arrayData": [ { "createTime": "2026-07-27T19:02:39", "updateTime": "2026-07-27T19:02:41", "contentId": "rmAN77FxTOXsVFRXcLkg5", "processInstanceId": "357145652750839893", "tenantId": "123456789012345", "resource": { "defSchema": "MaxCompute", "defVersion": "v1.0.0", "metaData": { "table": "example_table", "schema": "default", "tenant": "123456789012345", "project": "example_project", "workspace": "365379" } }, "resourceIndex": "ce92c2e7e51a605c0ae0467f95588959", "grantee": { "principalType": "RAM_USER", "principalId": "110755000425****" }, "accessTypes": [ "select" ], "finalAccessTypes": [ "select" ], "deadline": 1787742157827, "expirationTime": 1787742157827, "status": "CONFIRMED", "operation": "Grant" } ], "applyType": "MaxComputeTable" }, "status": "Completed", "createTime": 1785150160788, "updateTime": 1785150160788, "applicant": "110755000425****", "applicantName": "example_user" } }, "aliyunoriginalaccountid": "1234567890123456", "specversion": "1.0", "aliyuneventbusname": "example-bus", "id": "13501239-dd6e-403d-a249-c17c94c0bfa1", "source": "acs.dataworks", "time": "2026-07-27T11:02:40.822Z", "aliyunregionid": "cn-beijing", "type": "dataworks:ApprovalChange:ApprovalChangeFinishedV2" }The field descriptions are the same as the creation V2 event (see the preceding field description table). The following table lists the fields that differ in the completion event.
Field
Type
Description
status
String
Fixed value
Completedfor completion events. Note:Completedindicates that the approval process has ended. It does not mean the underlying permission has taken effect. The actual authorization may be executed asynchronously.approvalAction
String
The approval action.
Agree(approved) orDeny(rejected).assignee / assigneeName
String
The Base ID and display name of the final approver. Returned only in completion events.
arrayData[].status
String
Set to
CONFIRMEDafter approval; set toREJECT_APPROVALafter rejection.process.status
String
The workflow status. Set to
Completed(ended) in completion events.
Security Center (permission request pre-creation event V1)
The following example shows the message entity format (the content of the data field in the event message) for a table permission request pre-check event.
{
"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
}
}
The following table describes the fields.
|
Field |
Type |
Description |
|
operator |
String |
The UID of the user who initiated the table permission request pre-check operation. |
|
projectId |
Long |
The workspace ID where the table permission request pre-check operation was performed. |
|
tenantId |
Long |
The tenant ID where the table permission request pre-check operation was performed. |
|
order |
Object |
The request information. |
|
applyReason |
String |
The reason for the request. |
|
deadlineDate |
String |
The expiration date of the request. |
|
deadlineType |
String |
The time unit of the request expiration period. For example, Day or Month. |
|
granteeObjectList |
Object |
The list of grantee objects. |
|
granteeId |
String |
The grantee object ID, which is the RAM user ID. |
|
projectMeta |
Object |
The workspace information. |
|
envCode |
Integer |
The workspace environment identifier. 0 indicates the development environment and 1 indicates the production environment. |
|
labelSecurity |
Boolean |
Specifies whether label-level access control is enabled:
|
|
objectMetaList |
Array |
The list of grant objects. |
|
action |
Array |
The grant actions. For example, granting Select or Describe permissions on a table. |
|
name |
String |
The name of the table for which permissions are requested. |
|
projectGuid |
String |
The GUID of the workspace where the table resides. |
|
projectName |
String |
The name of the workspace where the table resides. |
|
eventType |
String |
The event type. |
Security Center (permission request pre-creation event V2)
Permission request pre-creation event V2 (eventCode: approval-change-before-create-v2) is a global-level extension point event. Unlike the V1 pre-check event, the V2 message body data.order is a native ApplicationForm object that supports all current resource types through defSchema and identifies resource types through resource.defSchema and resource.defVersion.
The following example shows the complete message format for a permission request pre-creation V2 event.
{
"datacontenttype": "application/json;charset=utf-8",
"aliyunaccountid": "1234567890123456",
"aliyunpublishtime": "2026-07-23T07:28:41.230Z",
"data": {
"eventType": "approval-create-before-v2",
"eventCode": "approval-change-before-create-v2",
"tenantId": 123456789012345,
"extensionBizId": "34bd203df59e91fe8fb5f1a00ebb0588@@v2",
"operator": "205328183930****",
"extensionBizName": "apply table permission ALIYUN$example_user34bd203df59e91fe8fb5f1a00ebb0588@@v2",
"order": {
"operator": "205328183930****",
"applicationContents": [
{
"tenantId": "123456789012345",
"resource": {
"defSchema": "MaxCompute",
"defVersion": "v1.0.0",
"metaData": {
"workspace": "64010",
"project": "example_project",
"schema": "default",
"table": "example_table",
"threeTierModel": false
}
},
"grantee": {
"principalType": "RAM_USER",
"principalId": "205328183930****"
},
"accessTypes": [
"Select",
"Describe"
],
"expirationTime": 1792740522227
}
],
"applyReason": "Required for business queries"
}
},
"aliyunoriginalaccountid": "1234567890123456",
"specversion": "1.0",
"aliyuneventbusname": "example-bus",
"id": "2c11c9f1-930c-4f3d-9216-b81a58a193da",
"source": "acs.dataworks",
"time": "2026-07-23T07:28:41.221Z",
"aliyunregionid": "cn-beijing",
"type": "dataworks:ApprovalChange:ApprovalChangeBeforeCreateV2"
}
The following table describes the data fields.
|
Field |
Type |
Description |
|
eventType |
String |
Fixed value: |
|
eventCode |
String |
The V2 extension point event code. Fixed value: |
|
tenantId |
Long |
The DataWorks tenant ID. |
|
extensionBizId |
String |
The unique extension point business ID. For V2 events, the value ends with |
|
operator |
String |
The Base ID of the user who initiated the request. |
|
extensionBizName |
String |
The display name of the extension point business. Do not use this field as a unique key. |
|
order |
Object |
The Security Center native request form. Type: |
|
order.operator |
String |
The Base ID of the user who initiated the request. |
|
order.applicationContents |
Array |
The list of resource permission details for this request. |
|
order.applicationContents[].resource |
Object |
The resource definition information for the requested resource. |
|
order.applicationContents[].resource.defSchema |
String |
The resource definition name that distinguishes engines and resource models. Examples: |
|
order.applicationContents[].resource.defVersion |
String |
The resource definition version. Example: |
|
order.applicationContents[].resource.metaData |
Object |
The hierarchical metadata organized by resource definition. Fields vary with |
|
order.applicationContents[].grantee |
Object |
The authorized principal. |
|
order.applicationContents[].grantee.principalType |
String |
The type of the authorized principal. Examples: |
|
order.applicationContents[].grantee.principalId |
String |
The ID of the authorized principal. The format depends on |
|
order.applicationContents[].accessTypes |
Array<String> |
The list of permissions requested by the user. Example: |
|
order.applicationContents[].expirationTime |
Long |
The permission expiration time. Unix timestamp in milliseconds. |
|
order.applyReason |
String |
The reason for the request. |
In pre-check events, applicationContents[] has not been persisted. Therefore, contentId, processInstanceId, resourceIndex, finalAccessTypes, status, createTime, and updateTime typically do not exist. Your JSON parser should ignore unknown fields and allow fields marked as optional in this document to be absent.
V1 event maintenance and migration guide
Maintenance deadline
DataWorks Security Center V1 events (approval-change-before-create, approval-change-created, approval-change-finished) will be maintained until December 31, 2026. Starting from January 1, 2027:
-
No new resource types, fields, or compatibility capabilities will be added to V1 events.
-
New resource types will be sent only through V2 events and will not be backfilled to V1 events.
-
End of maintenance does not mean immediate delivery cessation. The final delivery stop date for V1 events will be announced separately. Monitor the official website for updates.
V1 / V2 event mapping
|
V1 event (eventCode) |
Corresponding V2 event (eventCode) |
Key changes |
|
|
|
The message body |
|
|
|
|
|
|
|
Same as above. A completion event only indicates that the approval process has ended. It does not mean the underlying resource authorization has been executed successfully. |
Migration notes
-
Separate subscriptions: V1 and V2 use different
eventCodevalues. During the maintenance period, both event sets are sent for the same approval operation. Distinguish between the two sets byeventCodeto avoid duplicate processing of the same business stage. -
Separate parsing: When subscribing through EventBridge, filter target events by the EventBridge event type (Type) field. V1 and V2 have different CloudEvents type values. Create separate subscription rules for each.
-
Resource parsing compatibility: When parsing V2 event resource information, use
resource.defSchema+resource.defVersionas the source of truth. Allow unknown fields inresource.metaData. Implement compatible parsing (skip unknowndefSchemavalues instead of throwing exceptions). -
Correlation key selection: Use
processIdas the request correlation key andcontentIdas the request content correlation key. -
Bypass verification: Route V2 messages to a test environment and compare results with V1 before switching production consumption.
Appendix: Grant content list (MaxCompute)
In Security Center events, when an approval or table permission request is triggered, DataWorks adds arrayData to the event message sent to EventBridge. When the assignmentCategory type is MaxCompute, the arrayData content 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"
}
The following table describes the fields.
|
Field |
Type |
Description |
|
ownerBaseId |
String |
The BaseID of the table owner. |
|
ownerAccountName |
String |
The name of the table owner. |
|
objectType |
String |
The object type. |
|
odpsTable |
String |
The table name. |
|
envType |
String |
The environment of the table. |
|
projectGuid |
String |
The project GUID. |
|
objectGuid |
String |
The object GUID. |
|
objectName |
String |
The object name. |
|
odpsProject |
String |
The ODPS project name. |
|
projectName |
String |
The project code. |
|
projectId |
Long |
The project ID. |
|
workspaceId |
String |
The workspace ID. |
|
actions |
Array |
The list of action types. |
Appendix: Grant content list (Data Service)
In Security Center events, when an approval or table permission request is triggered, DataWorks adds arrayData to the event message sent to EventBridge. When the assignmentCategory type is DataService, the arrayData content 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":"******"
}
The following table describes the fields.
|
Field |
Type |
Description |
|
resourceId |
String |
The resource ID. |
|
ownerName |
String |
The name of the resource owner. |
|
resourceVersion |
Long |
The resource version. |
|
name |
String |
The resource name. |
|
dsDeployId |
String |
The Data Service deployment ID. |
|
workspaceName |
String |
The workspace name. |
|
id |
String |
The unique resource ID. |
|
type |
String |
The resource type. Valid values:
|
|
ownerId |
String |
The BaseID of the resource owner. |
|
url |
String |
The Data Service URL. |
|
workspaceId |
String |
The 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 code (eventCode) |
|
Data Quality check |
Check result feedback
|
|
|
|
|
|
Check completed
|
|
|
|
|
|
|
Data quality rule pre-event |
Batch create data quality rules pre-event |
|
|
|
|
|
Batch update data quality rules pre-event |
|
|
|
|
|
|
Batch delete data quality rules pre-event |
|
|
|
|
|
|
Update data quality rule pre-event |
|
|
|
|
|
|
Data quality monitoring pre-event |
Create data quality monitoring pre-event |
|
|
|
|
|
Update data quality monitoring pre-event |
|
|
|
|
|
|
Clone data quality monitoring pre-event |
|
|
|
|
|
|
Batch delete data quality monitoring pre-event |
|
|
|
|
|
|
Data quality monitoring alert subscription pre-event |
Create data quality monitoring alert subscription pre-event |
|
|
|
create-data-quality-evaluation-task-notification |
|
Update data quality monitoring alert subscription pre-event |
|
|
|
|
|
|
Delete data quality monitoring alert subscription pre-event |
|
|
|
|
Message format
Data Quality check
-
The following example shows the message body format (the content of the
datafield in the event message) for a Data Quality check result feedback event.{ "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 } }The following table describes the key fields.
Field
Type
Description
ruleId
Long
The data quality rule ID.
ruleCheckId
Long
The auto-increment ID of the check result.
feedbackContent
String
The feedback content.
createUser
String
The user ID of the person who provided the feedback.
taskid
String
The ID of the Data Quality task.
beginTime
String
The feedback time.
envType
String
The data source type of the table associated with the rule. Valid values: ODPS, EMR, and HOLO.
projectName
String
The unique identifier of the data source to which the table associated with the rule belongs.
projectId
Long
The DataWorks workspace ID.
tenantId
Long
The DataWorks tenant ID.
-
The following example shows the message body format (the content of the
datafield in the event message) for a Data Quality check completed event.{ "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 } }The fields are described as follows:
Field
Type
Description
id
Long
The primary key ID of the current check process. A new primary key ID record is generated each time a rule check is triggered.
projectId
Long
The DataWorks workspace ID.
tenantId
Long
The DataWorks tenant ID.
taskId
String
The ID of the check task.
entityId
Long
The partition expression ID.
ruleId
Long
The rule ID.
property
String
The field of the rule property, which is the column name of the data source table being checked.
bizdate
Long
The business date. If the checked business entity is offline data, the business date is usually the day before the check is performed.
dateType
String
The type of the schedule. Usually YMD, which represents yearly, monthly, and daily tasks.
actualExpression
String
The actual partition of the data source table being checked.
matchExpression
String
The partition expression.
blockType
Integer
The strength of the check rule. The strength indicates the importance of the rule. Valid values:
-
1: Strong rule.
-
0: Weak rule.
You can set important rules as strong rules based on your business requirements. If a strong rule triggers a red alert, the scheduled task is blocked.
checkResult
Integer
The check result status. Valid values:
-
-2: Check skipped
-
-1: Check exception
-
0: Check passed
-
1: Orange threshold triggered
-
2: Red threshold triggered
methodName
String
The methods for collecting sample data include: 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, and table_count-count_distinct.
beginTime
Long
The start time of the check.
endTime
Long
The end time for querying check results.
timeConsuming
String
The time consumed by the check task.
externalType
String
The type of the scheduling system. Currently, only CWF2 is supported. If externalType is empty, the task is a manual trial-run task.
externalId
String
-
When externalType is CWF2, this field indicates the node ID of the scheduled task.
-
When externalType is empty, the value is triggerByManual, indicating that the task is manually triggered.
discrete
Boolean
Indicates whether discrete checking is used. Valid values:
-
true: Discrete checking is used.
-
false: Discrete checking is not used.
fixedCheck
Boolean
Indicates whether fixed-value checking is used. Valid values:
-
true: Fixed-value checking is used.
-
false: Fixed-value checking is not used.
referenceValue
The historical sample value.
bizDate
Long
The business date. If the business entity being checked is offline data, the business date is usually the day before the check is performed.
discreteProperty
String
The value of the sample column after a GROUP BY operation. For example, if GROUP BY is applied to a gender column, the DiscreteProperty values are male, female, and null.
value
Decimal
The sample value.
singleCheckResult
Integer
The string representation of the check result.
sampleValue
The currently used sample.
bizDate
Long
The business date. If the business entity being checked is offline data, the business date is usually the day before the check is performed.
value
Decimal
The sample value.
trend
String
The trend of the check result.
expectValue
Double
The expected value.
op
String
The comparison operator.
projectName
String
The name of the compute engine or data source on which Data Quality checks are performed.
tableName
String
The name of the table to be checked.
templateId
Integer
The ID of the check template used.
checkerType
Integer
The type of the checker.
ruleName
String
The name of the rule.
isPrediction
Boolean
Indicates whether the result is a prediction. Valid values:
-
true: The result is a prediction.
-
false: The result is not a prediction.
comment
String
The description of the check rule.
eventCode
String
The Extensions event code.
-
Extension point events for data quality rules (batch create, update, and delete)
-
The following example shows the message entity format (the content of the
datafield in the event message) for the batch create data quality rules extension point event.{ "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" } } } } ] } }The following table describes the key fields.
Field
Type
Description
projectId
List
DataWorks workspace ID.
operator
String
UID of the operator.
operationTime
Long
Operation time.
dataQualityTaskId
Long
The Data Quality monitoring ID associated with the rule. This field can be empty.
target
DataQualityTarget
The monitoring target of the data quality rule.
databaseType
String
The database type of the table dataset.
-
MaxCompute
-
EMR
-
CDH
-
Hologres
-
AnalyticDB for PostgreSQL
tableGuid
String
The unique ID of the table in Data Map.
rules
List
The list of data quality rules.
name
String
Rule name.
enabled
Boolean
Indicates whether the rule is enabled.
severity
String
The business severity of the rule, corresponding to strong rules and weak rules on the page.
-
High
-
Normal
description
String
Rule description.
templateCode
String
The rule template referenced when creating the rule.
samplingConfig
SamplingConfig
Settings required for sample collection.
metric
String
Sampling metric name.
-
Count: Number of table rows
-
Min: Minimum column value
-
Max: Maximum column value
-
Avg: Average column value
-
DistinctCount: Number of distinct column values
-
DistinctPercent: Ratio of distinct column values to the number of rows
-
DuplicatedCount: Number of duplicate column values
-
DuplicatedPercent: Ratio of duplicate column values to the number of rows
-
TableSize: Table size
-
NullValueCount: Number of rows with null column values
-
NullValuePercent: Percentage of null column values
-
GroupCount: Number of rows for each value after aggregation by column value
-
CountNotIn: Number of rows not matching the enumerated values
-
CountDistinctNotIn: Number of distinct values not matching the enumerated values
-
UserDefinedSql: Sample collection through 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.
-
-
The following example shows the message entity format (the content of the
datafield in the event message) for the batch update data quality rules extension point event.{ "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" } } } } }The following table describes the key fields.
Field
Type
Description
eventCode
String
Event code.
projectId
Long
Workspace ID.
tenantId
Long
Tenant ID.
operator
String
User UID.
operationTime
Long
Operation time.
id
Long
Rule ID.
name
String
Rule name.
enabled
Boolean
Indicates whether the rule is enabled.
true: Enabled.
false: Disabled.
severity
String
The business severity of the rule, corresponding to strong rules and weak rules on the page.
-
High
-
Normal
description
String
Rule description.
templateCode
String
Partition settings for partitioned tables.
samplingConfig
SamplingConfig
Settings required for sample collection.
metric
String
Sampling metric name.
-
Count: Number of table rows
-
Min: Minimum column value
-
Max: Maximum column value
-
Avg: Average column value
-
DistinctCount: Number of distinct column values
-
DistinctPercent: Ratio of distinct column values to the number of rows
-
DuplicatedCount: Number of duplicate column values
-
DuplicatedPercent: Ratio of duplicate column values to the number of rows
-
TableSize: Table size
-
NullValueCount: Number of rows with null column values
-
NullValuePercent: Percentage of null column values
-
GroupCount: The number of data rows for each value after aggregation by column value
-
CountNotIn: The number of rows that do not match the enumerated values
-
CountDistinctNotIn: The number of distinct values that do not match the enumerated values
-
UserDefinedSql: Sample collection through custom SQL
checkingConfig
CheckingConfig
Sample verification 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
Critical alert threshold settings.
-
-
The following example shows the message body format of the batch delete data quality rules pre-event (the content of the
datafield in the event message).{ "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 } }The following table describes the key fields.
Field name
Field type
Description
projectId
List
The DataWorks workspace ID.
operator
String
The UID of the operator.
operationTime
Long
The operation time.
ids
List
The list of IDs of the deleted data quality rules.
tenantId
String
The tenant ID.
eventCode
String
The event code.
-
The following example shows the message body format of the update data quality rule pre-event (the content of the
datafield in the event message).{ "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" } } } } }The following table describes the key fields.
Field name
Field type
Description
eventCode
String
The event code.
projectId
Long
The workspace ID.
tenantId
Long
The tenant ID.
operator
String
The user UID.
operationTime
Long
The operation time.
id
Long
The rule ID.
name
String
The rule name.
enabled
Boolean
Indicates whether the rule is enabled.
true: Enabled.
false: Disabled.
severity
String
The severity level of the rule for the business (corresponding to strong rules and weak rules on the page).
-
High
-
Normal
description
String
The rule description.
templateCode
String
The partition settings of the partitioned table.
samplingConfig
SamplingConfig
The settings required for sample collection.
metric
String
The name of the sampling metric.
-
Count: The number of table rows
-
Min: The minimum value of the column
-
Max: The maximum value of the column
-
Avg: The average value of the column
-
DistinctCount: The number of distinct values in the column
-
DistinctPercent: The ratio of distinct values in the column to the number of data rows
-
DuplicatedCount: The number of duplicate values in the column
-
DuplicatedPercent: The ratio of duplicate values in the column to the number of data rows
-
TableSize: The table size
-
NullValueCount: The number of rows where the column value is null
-
NullValuePercent: The percentage of rows where the column value is null
-
GroupCount: The number of data rows for each value after aggregation by column value
-
CountNotIn: The number of rows that do not match the enumerated values
-
CountDistinctNotIn: The number of distinct values that do not match the enumerated values
-
UserDefinedSql: Sample collection through custom SQL
checkingConfig
CheckingConfig
Sample verification 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
Critical alert threshold settings.
-
Data quality monitoring pre-events ( create, update, clone, and batch delete)
-
The following example shows the message body format of the create and update data quality monitoring pre-events (the content of the
datafield in the event message).{ "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 is successfully executed, 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 } }The following table describes the key fields.
Field name
Field type
Description
eventCode
String
The event code.
name
String
The name of the data quality monitoring task.
description
String
The description of the data quality evaluation task.
target
DataQualityTarget
The monitoring target of the data quality evaluation task.
databaseType
String
The database type of the table for a table-type dataset.
-
MaxCompute
-
EMR
-
CDH
-
Hologres
-
AnalyticDB for PostgreSQL
tableGuid
String
The unique ID of the table in Data Map.
trigger
DataQualityEvaluationTaskTrigger
The trigger configuration of the data quality evaluation task.
type
String
The type of event that can trigger the data quality evaluation task.
-
ByScheduledTaskInstance: Triggered when a scheduled instance runs successfully. This option is supported only in public cloud scenarios.
-
ByManual: Manually triggered.
taskIds
Array
Takes effect when type=ByScheduledTaskInstance. Specifies which scheduled node instances can trigger the task after running successfully.
dataSourceId
Long
The data source to use when the data quality evaluation task is executed.
runtimeConf
String
The settings for using the data source. Currently, only specifying the EMR YARN queue and setting the SQL engine to SPARK-SQL for collecting EMR tables are supported.
rules
List
The list of data quality rules. For more information about the parameters, see Data quality rule pre-event parameters.
hooks
Array
The callback settings during the lifecycle of the data quality evaluation task instance. Currently, only one hook that blocks scheduled task instances is supported.
type
String
The type of follow-up action.
BlockTaskInstance: Blocks the execution of a DataWorks task instance.
condition
String
The hook trigger condition.
notifications
Array
The notification settings.
projectId
Long
The workspace ID.
tenantId
Long
The tenant ID.
operator
String
The UID of the operator.
operationTime
Long
The operation time.
-
-
The following example shows the message entity format (the content of the
datafield in the event message) for the clone Data Quality monitoring extension point event.{ "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 } }The following table describes the key fields.
Field
Type
Description
projectId
Long
The DataWorks workspace ID.
tenantId
String
The tenant ID.
operator
String
The UID of the operator.
operationTime
Long
The operation time.
targets
List
The Data Quality monitoring targets to which the rules are cloned.
databaseType
String
The database type of the table for a table-type dataset.
-
MaxCompute
-
EMR
-
CDH
-
Hologres
-
AnalyticDB for PostgreSQL
tableGuid
String
The unique ID of the table in Data Map.
id
Long
The ID of the source Data Quality monitoring rule to clone from.
eventCode
String
The event code.
-
-
The following example shows the message entity format (the content of the
datafield in the event message) for the batch delete Data Quality monitoring extension point event.{ "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 } }The following table describes the key fields.
Field
Type
Description
projectId
Long
The DataWorks workspace ID.
operator
String
The UID of the operator.
operationTime
Long
The operation time.
ids
List
The list of deleted Data Quality monitoring IDs.
tenantId
String
The tenant ID.
eventCode
String
The event code.
Data Quality monitoring alert subscription extension point events (create, update, and delete)
-
The following example shows the message entity format (the content of the
datafield in the event message) for the create and delete Data Quality monitoring alert subscription extension point events.{ "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 } }The following table describes the key fields.
Field
Type
Description
projectId
Long
The DataWorks workspace ID.
operator
String
The UID of the operator.
operationTime
Long
The operation time.
dataQualityEvaluationTaskId
Long
The Data Quality monitoring ID.
channel
String
The channel type for sending subscription messages.
-
Mail - Email
-
Sms - SMS
-
Phone - Phone call
-
Feishu - Feishu
-
Weixin - WeChat
-
Dingding - DingTalk
-
Webhook - Custom webhook
receiverValue
String
The specific target for sending subscription messages.
eventCode
String
The event code.
-
-
The following example shows the message entity format (the content of the
datafield in the event message) for the update Data Quality monitoring extension point event.{ "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 }The following table describes the key fields.
Field
Type
Description
projectId
Long
The DataWorks workspace ID.
operator
String
The UID of the operator.
operationTime
Long
The operation time.
dataQualityEvaluationTaskId
Long
The Data Quality monitoring ID.
currentChannel
String
The channel type of the subscription message target being updated.
-
Mail - Email
-
Sms - SMS
-
Phone - Phone call
-
Feishu - Feishu
-
Weixin - WeChat
-
Dingding - DingTalk
-
Webhook - Custom webhook
currentReceiverValue
String
The specific target of the subscription message being updated.
updatedChannel
String
The channel type of the subscription message target after the update.
-
Mail - Email
-
Sms - SMS
-
Phone - Phone call
-
Feishu - Feishu
-
Weixin - WeChat
-
Dingding - DingTalk
-
Webhook - Custom webhook
updatedReceiverValue
String
The specific target of the subscription message after the update.
eventCode
String
The event code.
-
Tenant-level events
Events generated by tenant-level modules are tenant-level events, such as events generated when a workspace is deleted from the 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.
Console event list
Event list
|
Event type |
Event (and triggering operation) |
Standard event |
Extension point event |
EventBridge event type (Type) |
Extensions event type (eventCode) |
|
Delete workspace |
Delete workspace extension point event |
|
|
|
|
|
Post-delete workspace event |
|
|
|
|
Message format
Message entity format: Delete workspace events
-
The following example shows the message entity format (the content of the
datafield in the event message) for the tenant delete workspace extension point event.{ "data": { "eventCode": "delete-project", "projectId": 7***7, // Workspace ID "tenantId": 2807****0784, // Tenant ID "operator": "19***735 }The following table describes the fields:
Field
Type
Description
operator
String
The UID of the user who deleted the DataWorks workspace.
projectId
Long
The ID of the DataWorks workspace to be deleted.
tenantId
Long
The tenant ID of the workspace to be deleted.
eventCode
String
Extensions event code.
-
The following example shows the message body format (the content of the
datafield in the event message) of the post-event for tenant workspace deletion.{ "data": { "eventCode": "project-deleted", "tenantId": 28***656, "blockBusiness": false, "projectName": "test2", "projectId": 9***4, "operator": "19***735", "timestamp": 1702260556896 } }The fields are described as follows:
Field
Type
Description
operator
String
The UID of the user who deleted the DataWorks workspace.
projectId
Long
The ID of the DataWorks workspace to be deleted.
projectName
String
The name of the DataWorks workspace to be deleted.
tenantId
Long
The ID of the tenant to which the workspace to be deleted belongs.
timestamp
Long
The timestamp when the message was sent.
eventCode
String
Extensions event code.
Data Upload & Download event list
Event list
|
Event type |
Event (and triggering operation) |
Standard event |
Extension point event |
EventBridge event type (Type) |
Extension event code (eventCode) |
|
Data download and upload |
Pre-event for data download - file generation |
|
|
dataworks:ResourcesDownload:DownloadResources |
download-resources |
|
Pre-event for data download - file download |
|
|
dataworks:ResourcesDownload:DownloadResourcesExecute |
download-resources-execute |
|
|
Pre-event for data upload |
|
|
dataworks:ResourcesUpload:UploadDataToTable |
upload-data-to-table |
Message format
Data download and upload
-
The following example shows the message body format (the content of the
datafield in the event message) of the pre-event for data download - file generation.{ "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", }The fields are described as follows:
Field
Type
Description
moduleType
String
The source of the downloaded data:
-
entity_transfer: Data downloaded from .
-
develop_query: Data queried and downloaded by using SQL statements in Data Studio.
-
sqlx_query: Data queried and downloaded by using SQL statements in .
-
dw_excel: Data downloaded from .
operatorBaseId
String
The BaseID of the user who performed the download operation.
operatorUid
String
The UID of the user who performed the download operation.
fileName
String
The name of the downloaded file.
fileSize
Long
The size of the downloaded file.
datasourceId
String
The ID of the data source to which the downloaded data belongs.
datasourceName
String
The name of the data source to which the downloaded data belongs.
queryDwProjectId
String
The ID of the DataWorks workspace to which the downloaded data belongs.
queryDwProjectName
String
The identifier of the DataWorks workspace to which the downloaded data belongs.
dataRowSize
Long
The number of downloaded data rows.
sqlText
String
The SQL code used to query and download data.
eventCode
String
Extensions event type.
-
-
The following example shows the message body format (the content of the
datafield in the event message) of the pre-event for data download - file download.{ "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": "example-bus", "id": "2c3e41e5-3486-40ce-87d4-910f989cf2a7", "source": "acs.dataworks", "time": "2023-12-11T10:10:00.117Z", "aliyunregionid": "cn-shanghai", "type": "dataworks:ResourcesDownload:DownloadResourcesExecute" }The following table describes key fields.
Field
Type
Description
moduleType
String
The source of the downloaded data:
-
entity_transfer: Data downloaded from .
-
develop_query: Data queried and downloaded by using SQL statements in Data Studio.
-
sqlx_query: Data queried and downloaded by using SQL statements in .
-
dw_excel: Data downloaded from .
operatorBaseId
String
The BaseID of the user who performed the download operation.
operatorUid
String
The UID of the user who performed the download operation.
fileName
String
The name of the downloaded file.
fileSize
Long
The size of the downloaded file.
datasourceId
String
The ID of the data source to which the downloaded data belongs.
datasourceName
String
The name of the data source to which the downloaded data belongs.
queryDwProjectId
String
The ID of the DataWorks workspace to which the downloaded data belongs.
queryDwProjectName
String
The identifier of the DataWorks workspace to which the downloaded data belongs.
dataRowSize
Long
The number of downloaded data rows.
sqlText
String
The SQL code used to query and download data.
ip
String
The IP address of the user who performed the download operation.
eventCode
String
Extensions event type.
-
-
The following example shows the message body format (the content of the
datafield in the event message) of the pre-event for data upload.{ "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": "example-bus", "id": "2c3e41e5-3486-40ce-87d4-910f989cf2a7", "source": "acs.dataworks", "time": "2023-12-11T10:10:00.117Z", "aliyunregionid": "cn-shanghai", "type": "dataworks:ResourcesUpload:UploadDataToTable" }The fields are described as follows:
Field
Type
Description
uploadSourceType
String
The source of the uploaded data:
-
LOCAL: Upload data from a local file.
-
OSS: Upload data from an OSS file.
-
DW_EXCEL: Upload data from in DataWorks.
-
HTTP: Upload data from an HTTP file.
optTableType
String
Specifies whether to upload data to an existing table or 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
The type of engine to which data is uploaded. Valid values:
-
MaxCompute
-
EMR Hive
-
Hologres
writeType
String
The method used to write data to the destination table. Valid values:
-
OVERWRITE: Overwrite existing data in the table.
-
APPEND: Append the uploaded data to the destination table.
conflictMode
String
The primary key conflict resolution policy for data upload:
-
IGNORE: If a primary key conflict occurs, the uploaded data is ignored.
-
REPLACE: If a primary key conflict occurs, the conflicting row is deleted first, and then the uploaded data is inserted into that row. Columns not specified in the uploaded data are set to NULL.
-
UPDATE: The uploaded data overwrites the original table data. Only the columns specified in the uploaded data are overwritten, and unspecified columns remain unchanged.
operatorBaseId
String
The BaseID of the user who performed the upload operation.
operatorUid
String
The UID of the user who performed the upload operation.
datasourceId
String
The ID of the data source to which data is uploaded.
datasourceName
String
The name of the data source to which data is uploaded.
tableGuid
String
The GUID of the table. Examples:
-
MaxCompute:
odps.maxcomputeProject.tableName. -
EMR_Hive:
emr_hive.emrClusterId.schema.tableName. -
Holo:
holo.hologresInstanceId.database.
queryDwProjectId
String
The ID of the DataWorks workspace to which the table belongs.
queryDwProjectName
String
The name of the DataWorks workspace to which the table belongs.
fileSize
Long
The size of the uploaded file, in bytes.
eventCode
String
Extensions event code.
-
Appendix: Message format
Message format for EventBridge
After you configure Open Event and add an event distribution channel, when a workspace-level or tenant-level event is triggered in DataWorks, the event is filtered based on the event type (Type) configured in EventBridge. The following is the message format that DataWorks sends to EventBridge through the event distribution channel.
{
"datacontenttype": "application/json;charset=utf-8",// The content format of the data parameter. Only application/json is supported for datacontenttype.
"data": {
// The message content varies depending on the message type. The following two fields are fixed in the message. For event messages, see the preceding sections.
"tenantId": 28378****10656,// The tenant ID. Each Alibaba Cloud account corresponds to a tenant in DataWorks, and each tenant has its own tenant ID. You can view this value in the user information in the upper-right corner of Data Studio in DataWorks.
"eventCode": "xxxx"//
},
"id": "539fd8f4-4ea1-4625-aa8b-6c906674****",// The event ID. A unique value that identifies the event.
"source": "acs.dataworks",// The event source, which is the service that provides the event. This indicates that the message is pushed by DataWorks.
"specversion": "1.0",
"subject": "",
"time": "2020-11-19T21:04:41+08:00",// The time when the event was generated.
"type": "dataworks:InstanceStatusChanges:InstanceStatusChanges",// The event type. You can use this event type to filter all messages pushed by DataWorks in the EventBridge console. The Type value varies for each event. See the preceding sections for different event message types.
"aliyunaccountid": "123456789098****",// The Alibaba Cloud account ID.
"aliyunpublishtime": "2020-11-19T21:04:42.179PRC",// The time when EventBridge received the event.
"aliyuneventbusname": "example-bus",// The name of the EventBridge event bus used to receive DataWorks event messages.
"aliyunregionid": "cn-hangzhou",// The region where the event is received.
"aliyunpublishaddr": "172.25.XX.XX"
}A complete event message includes the message body and basic information such as the message ID, source, and generation time. The following table describes the important fields.
|
Field |
Type |
Description |
|
data |
object |
The message body. The message format and field meanings vary depending on the event type. For more information, see: Data Studio event message format: Data Studio 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 |
The unique ID of the event message. This field is used to locate the event message. |
|
type |
String |
The event type. This field describes the event type related to the event source. Examples:
You can use this event type to filter all messages pushed by DataWorks in the EventBridge console. The Type value varies for each event. See the preceding sections for different event message types. |
Message format for Function Compute
When you configure Extensions with the Function Compute method in DataWorks, DataWorks sends event messages in JSON format to Function Compute when the corresponding extension point event is triggered. The following is the message format sent to Function Compute.
{
"blockBusiness": true,
"eventCategoryType": "resources-download",// The event category.
"eventType": "upload-data-to-table",// The event type.
"extensionBizId": "job_6603***070",
"messageBody": {
// The message content varies depending on the message type. The following two fields are fixed in the message. For event messages, see the preceding sections.
"tenantId": 28378****10656,// The tenant ID. Each Alibaba Cloud account corresponds to a tenant in DataWorks, and each tenant has its own tenant ID. You can view this value in the user information in the upper-right corner of Data Studio in DataWorks.
"eventCode": "xxxx"//
},
"messageId": "52d44ee7-b51f-4d4d-afeb-*******"// The event ID. A unique value that identifies the event.
}The following table describes the important fields.
|
Field |
Type |
Description |
|
|
messageId |
String |
The event ID. A unique value that identifies the event. |
|
|
messageBody |
The specific event message pushed by DataWorks. You can use this field when developing Extensions. The content of this field varies depending on the message type. |
||
|
tenantId |
The tenant ID. Each Alibaba Cloud account corresponds to a tenant in DataWorks, and each tenant has its own tenant ID. You can view this value in the user information in the upper-right corner of Data Studio in DataWorks. |
||
|
eventCode |
The event code. This field identifies a specific type of event message. For the eventCode of each event type, see the Extensions event code (eventCode) column in the event list table. |
||