Les événements générés par les modules au niveau de l'espace de travail sont des événements au niveau de l'espace de travail, tels que les événements issus de l'exécution des nœuds dans Data Studio ou les changements d'état des instances planifiées dans Operation Center. Utilisez la liste des événements ci-dessous pour identifier quels événements sont des événements standard et lesquels sont des événements de point d'extension, ainsi que leurs formats de message.
Les onglets de format de message suivants ne contiennent qu'un contenu partiel. Pour consulter les messages complets envoyés à EventBridge ou Function Compute, reportez-vous à Annexe : Format de message.
Liste des événements Data Studio
Liste des événements
|
Type d'événement |
Événement (et opération déclenchante) |
Événement standard |
Événement de point d'extension |
Type d'événement EventBridge (Type) |
Code d'événement d'extension (eventCode) |
|
Modification de nœud |
Créer un nœud
|
|
|
|
|
|
Mettre à jour le nœud
|
|
|
|
|
|
|
Modification de fichier
|
Pré-événement pour la suppression de fichier Supprimer un nœud dans l'environnement de développement Remarque
Les fichiers supprimés sont déplacés vers la corbeille. |
|
|
|
|
|
Pré-événement pour la soumission de fichier |
|
|
|
|
|
|
Pré-événement pour le déploiement de fichier |
|
|
|
|
|
|
Pré-événement pour l'exécution du code |
|
|
|
|
|
|
Modification de table |
Pré-événement pour la soumission d'une table au développement |
|
|
|
|
|
Pré-événement pour la soumission d'une table à la production |
|
|
|
|
Format de message
Événements de modification de nœud (création et mise à jour)
L'exemple suivant illustre le format du corps du message (le contenu du champ data dans le message d'événement) pour les événements de création, de modification et de suppression de nœud.
{
"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
}
}
Les champs sont décrits comme suit :
|
Champ |
Type |
Description |
|
nodeName |
String |
Le nom du nœud. |
|
programType |
String |
Le type de code du fichier. Vous pouvez appeler l'opération ListFileType pour interroger le type de code du fichier, ou consulter les Types de code de fichier pour afficher les types de code de fichier. |
|
cronExpress |
String |
L'expression cron pour la planification périodique. Ce paramètre correspond aux d'une tâche Data Studio dans la console DataWorks. Après avoir configuré la planification et l'heure planifiée, DataWorks génère automatiquement l'expression cron correspondante. Exemples :
Remarque
L'expression cron présente les limites suivantes :
|
|
schedulerType |
String |
Le type de planification de l'instance de tâche. Valeurs possibles :
|
|
ownerId |
String |
L'ID utilisateur Alibaba Cloud du propriétaire du nœud. Si ce paramètre est vide, l'ID utilisateur Alibaba Cloud de l'appelant est utilisé par défaut. |
|
priority |
Integer |
La priorité de la tâche. Valeurs possibles : 1, 3, 5, 7 et 8. Une valeur plus élevée indique une priorité plus grande. |
|
baselineId |
Long |
L'ID de la ligne de base. |
|
repeatability |
Boolean |
Indique si le nœud peut être réexécuté :
|
|
modifyTime |
Long |
L'heure de la dernière modification du nœud. |
|
createTime |
Long |
L'heure de création du nœud. |
|
nodeId |
Long |
L'ID du nœud. |
|
projectId |
Long |
L'ID de l'espace de travail auquel appartient le nœud. |
|
tenantId |
Long |
L'ID du locataire auquel appartient le nœud. |
|
operator |
String |
L'UID de l'utilisateur qui a créé, modifié ou supprimé le nœud. |
|
eventCode |
String |
Le code d'événement d'extension. |
Événements de modification de fichier (soumission, déploiement, exécution et suppression)
-
L'exemple suivant illustre le format du corps du message (le contenu du champ
datadans le message d'événement) pour les événements de soumission et de déploiement de fichier.{ "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 } }Les champs sont décrits comme suit :
Champ
Type
Description
operator
String
L'UID de l'utilisateur qui a soumis ou déployé le fichier.
projectId
Long
L'ID de l'espace de travail auquel appartient le fichier.
tenantId
Long
L'ID du locataire.
nodeId
Long
L'ID du nœud de planification.
fileType
Long
Le type de code du fichier. Vous pouvez appeler l'opération ListFileType pour interroger le type de code du fichier, ou consulter les Types de code de fichier pour afficher les types de code de fichier.
fileName
String
Le nom du fichier.
fileOwner
String
Le propriétaire du fichier.
extensionBizId
String
L'ID du processus de point de contrôle des extensions.
changeType
String
Le type de modification du fichier :
-
0 : Créer un fichier.
-
1 : Mettre à jour un fichier.
-
2 : Supprimer un fichier.
fileCreateTime
String
L'heure de création du fichier, au format
yyyy-MM-dd HH:mm:ss.fileId
Long
L'ID du fichier.
fileVersion
Long
La version du fichier.
dataSourceName
String
Le nom de la source de données.
eventCode
String
Le code d'événement d'extension.
-
-
L'exemple suivant illustre le format du corps du message (le contenu du champ
datadans le message d'événement) pour les événements de suppression et d'exécution de fichier.{ "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 } }Les champs sont décrits comme suit :
Champ
Type
Description
operator
String
L'UID de l'utilisateur qui a supprimé ou exécuté le fichier.
projectId
Long
L'ID de l'espace de travail auquel appartient le fichier.
tenantId
Long
L'ID du locataire.
nodeId
Long
L'ID du nœud de planification.
fileType
Long
Le type de code du fichier. Vous pouvez appeler l'opération ListFileType pour interroger les types de code de fichier, ou consulter les Types de code de fichier pour plus de détails.
fileName
String
Le nom du fichier.
fileOwner
String
Le propriétaire du fichier.
extensionBizId
String
L'ID du processus de point de contrôle des Extensions.
fileCreateTime
String
L'heure de création du fichier, au format
yyyy-MM-dd HH:mm:ss.fileId
Long
L'ID du fichier.
eventCode
String
Le code d'événement des Extensions.
Événements de modification de table (soumission d'une table à l'environnement de développement ou déploiement d'une table à l'environnement de production)
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"operator": "**************",
"projectId": 12*****56,
"tenantId": 12******56,
"extensionBizId": "12***56",
"tableName":"table1",
"tableType":"ODPS",
"maxComputeProject":"project1"
}
}
Le tableau suivant décrit les champs :
|
Champ |
Type |
Description |
|
operator |
String |
L'UID de l'utilisateur qui a soumis ou déployé la table. |
|
projectId |
Long |
L'ID de l'espace de travail. |
|
tenantId |
Long |
L'ID du locataire. |
|
extensionBizId |
String |
L'ID du processus de point de contrôle des Extensions. |
|
tableName |
String |
Le nom de la table. |
|
tableType |
String |
Le type de table. La valeur est ODPS. |
|
maxComputeProject |
String |
Le nom du projet MaxCompute correspondant. |
Cette rubrique décrit les types d'événements DataWorks, les formats de message et la signification des champs. Utilisez ce document pour trouver et interroger rapidement des informations sur les listes d'événements et les formats de message.
Introduction
Dans DataWorks, les événements sont classés comme événements standard ou événements de point d'extension selon qu'ils peuvent créer un point de contrôle au sein de DataWorks et s'ils peuvent renvoyer des résultats de traitement après avoir été souscrits par un service géré en interne.
Événements standard : Vous pouvez vous abonner à ces messages d'événement, mais ils ne peuvent pas bloquer les opérations au sein de DataWorks. Abonnez-vous à ces événements à l'aide d'OpenEvent. Pour plus d'informations, consultez Présentation des événements ouverts.
Événements de point d'extension : Après vous être abonné à ces messages d'événement, vous pouvez personnaliser la réponse aux messages d'événement à l'aide de la fonctionnalité Extensions dans la plateforme ouverte DataWorks. Lorsque vous utilisez Extensions pour gérer les opérations à un point d'extension, l'opération effectuée par l'utilisateur de la plateforme DataWorks à ce point d'extension est interrompue jusqu'à ce que votre extension personnalisée renvoie un résultat de traitement.
Cette liste catégorise les événements pris en charge par module et indique si chaque événement est un événement standard ou un événement de point d'extension. Elle répertorie également le type d'événement EventBridge (Type) et le code d'événement d'extension (eventCode).
Type d'événement EventBridge (Type) : Champ utilisé pour filtrer les messages d'événement. Pour plus de détails, consultez Activer l'abonnement aux messages.
Code d'événement d'extension (eventCode) : Code d'événement correspondant au type d'événement. Lors du développement local, obtenez ce code à partir du contenu du message envoyé par DataWorks pour identifier le type d'événement cible.
-
L'exemple suivant présente le format du corps de message d'un événement de suppression de nœud (le contenu du champ
datadans le message d'événement).{ "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 } }Le tableau suivant décrit les champs :
Field
Type
Description
nodeName
String
Le nom du nœud.
programType
String
Le type de code du fichier. Vous pouvez appeler l'opération ListFileType pour interroger le type de code d'un fichier ou vous reporter à la rubrique Types de codes de fichiers pour connaître les types de codes.
cronExpress
String
L'expression cron pour la planification périodique.
Ce paramètre correspond aux d'une tâche Data Studio dans la console DataWorks.
Après avoir configuré la planification et l'heure planifiée, DataWorks génère automatiquement l'expression cron correspondante. Exemples :
-
Planifié à 05:30 tous les jours :
00 30 05 ? -
Planifié à la 15e minute de chaque heure :
00 15 * ? -
Planifié toutes les 10 minutes :
00 00/10 * ? -
Planifié toutes les 10 minutes de 08:00 à 17:00 tous les jours :
00 00-59/10 8-17 * ? -
Planifié à 00:20 le 1er de chaque mois :
00 20 00 1 * ? -
Planifié tous les 3 mois à partir du 1er janvier à 00:10 :
00 10 00 1 1-12/3 ? -
Planifié à 00:05 tous les mardis et vendredis :
00 05 00 2,5
RemarqueL'expression cron est soumise aux limites suivantes :
-
L'intervalle de planification minimal est de 5 minutes.
-
L'heure de planification la plus précoce chaque jour est 00:05.
schedulerType
String
Le type de planification de l'instance de tâche. Valeurs possibles :
-
0 : NORMAL. La tâche est une tâche planifiée normale déclenchée par une planification périodique.
-
1 : MANUAL. La tâche est une tâche manuelle qui n'est pas déclenchée par une planification périodique.
-
2 : PAUSE. La tâche est une tâche gelée. La tâche est déclenchée par une planification périodique, mais son état est défini sur Échec lors de la planification.
-
3 : SKIP. La tâche est une tâche de test à blanc. La tâche est déclenchée par une planification périodique, mais son état est défini sur Succès lors de la planification.
-
4 : SKIP_UNCHOOSE. La tâche est une tâche non sélectionnée dans un workflow temporaire. Elle existe uniquement dans un workflow temporaire et son état est défini sur Succès lors de la planification.
-
5 : SKIP_CYCLE. La tâche est une tâche hebdomadaire ou mensuelle qui n'a pas atteint son cycle d'exécution. La tâche est déclenchée par une planification périodique, mais son état est défini sur Succès lors de la planification.
-
6 : CONDITION_UNCHOOSE. Une instance en amont contient un nœud de branche (IF) et le nœud en aval n'est pas sélectionné par le nœud de branche. La tâche est directement définie comme un test à blanc.
-
7 : REALTIME_DEPRECATED. L'instance planifiée est générée en temps réel et a expiré. La tâche est directement définie sur Succès.
ownerId
String
L'ID utilisateur Alibaba Cloud du propriétaire du nœud. Si ce paramètre est vide, l'ID utilisateur Alibaba Cloud de l'appelant est utilisé par défaut.
priority
Integer
La priorité de la tâche. Valeurs possibles : 1, 3, 5, 7 et 8. Plus la valeur est élevée, plus la priorité est grande.
baselineId
Long
L'ID de la ligne de base.
repeatability
Boolean
Indique si le nœud peut être réexécuté :
-
true : Le nœud peut être réexécuté.
-
false : Le nœud ne peut pas être réexécuté.
modifyTime
Long
L'heure de la dernière modification du nœud.
createTime
Long
L'heure de création du nœud.
nodeId
Long
L'ID du nœud.
projectId
Long
L'ID de l'espace de travail auquel appartient le nœud.
tenantId
Long
L'ID du locataire auquel appartient le nœud.
operator
String
L'UID de l'utilisateur qui a créé, modifié ou supprimé le nœud.
-
-
L'exemple suivant présente le format du corps de message des événements de gel, de dégel et de retrait de déploiement de nœuds (le contenu du champ
datadans le message d'événement).{ "datacontenttype": "application/json;charset=utf-8", "data": { "operator": "19***735", "projectId": 12***56, "tenantId": 28***656, "nodeIds":[1,2,3], "extensionBizId": "12***56" } }Le tableau suivant décrit les champs :
Field
Type
Description
operator
String
L'UID de l'utilisateur qui a gelé, dégélé ou retiré le déploiement du nœud.
projectId
Long
L'ID de l'espace de travail auquel appartient le nœud.
tenantId
Long
L'ID du locataire.
nodeIds
Array
La liste des ID de nœuds sur lesquels l'opération a été effectuée.
extensionBizId
String
L'ID du processus de point de contrôle Extensions.
Rétroplanning des données pour les nœuds
L'exemple suivant présente le format du corps de message d'un événement de rétroplanning des données (le contenu du champ data dans le message d'événement).
{
"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"
}
}
Le tableau suivant décrit les champs :
|
Field |
Type |
Description |
|
name |
String |
Le nom du workflow de rétroplanning des données. |
|
rootNodeId |
Long |
L'ID du nœud racine du workflow de rétroplanning des données. |
|
rootNodeProjectId |
Long |
L'ID de l'espace de travail auquel appartient le nœud racine du workflow de rétroplanning des données. |
|
includeNodeIds |
Array |
La liste des ID de nœuds inclus dans l'opération de rétroplanning des données. |
|
excludeNodeIds |
Array |
La liste des ID de nœuds exclus de l'opération de rétroplanning des données. Les nœuds de cette liste génèrent des instances de test à blanc, dont l'état est défini sur Succès lors de la planification sans exécuter le contenu du script. |
|
bizBeginTime |
String |
L'heure de début de la tâche. Ce paramètre est requis uniquement pour les tâches planifiées à l'heure. Le format est |
|
bizEndTime |
String |
L'heure de fin de la tâche. Ce paramètre est requis uniquement pour les tâches planifiées à l'heure. Le format est |
|
isParallel |
Boolean |
Indique si l'opération de rétroplanning des données peut s'exécuter en parallèle :
|
|
parallelGroup |
Integer |
Le nombre de groupes parallèles. Une valeur de 1 indique qu'aucun regroupement n'est effectué. |
|
startFutureInstanceImmediately |
Boolean |
Indique s'il faut ignorer l'heure planifiée et exécuter immédiatement les instances avec des dates métier futures :
|
|
order |
String |
L'ordre dans lequel les instances de rétroplanning des données sont exécutées en fonction des dates métier :
|
|
multipleTimePeriods |
String |
Les plages de dates métier sélectionnées par segments. Exemple : |
|
tenantId |
Long |
L'ID du locataire. |
|
projectId |
Long |
L'ID du projet dans lequel l'opération de rétroplanning des données est effectuée. |
|
operator |
String |
L'ID de l'utilisateur qui a effectué l'opération de rétroplanning des données. |
|
extensionBizId |
String |
L'ID du processus de point de contrôle Extensions. |
|
eventCode |
String |
Le code d'événement Extensions. |
Événement de changement d'état de tâche
L'exemple suivant présente le format du corps de message (le contenu du champ data dans le message d'événement) de l'événement de changement d'état de la tâche planifiée.
{
"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
}
}
Le tableau suivant décrit les champs :
|
Field |
Type |
Description |
|
finishTime |
Long |
L'heure à laquelle l'instance de tâche planifiée a terminé son exécution. |
|
beginWaitTimeTime |
Long |
L'heure à laquelle l'instance de tâche planifiée a commencé à attendre son exécution. |
|
beginRunningTime |
Long |
L'heure à laquelle l'instance de tâche planifiée a commencé à s'exécuter. |
|
dagId |
Long |
Vous pouvez utiliser |
|
dagType |
Integer |
Le type de DAG. Valeurs possibles :
|
|
taskType |
Integer |
Le type de planification de l'instance de tâche. Valeurs possibles :
|
|
modifyTime |
Long |
L'heure de la dernière modification de l'instance de tâche. |
|
createTime |
Long |
L'heure de création de l'instance de tâche. |
|
appId |
Long |
L'ID de l'espace de travail. Vous pouvez appeler l'opération ListProjects pour interroger les informations sur l'ID de l'espace de travail. |
|
tenantId |
Long |
L'ID du locataire de l'espace de travail auquel appartient l'instance de tâche planifiée. |
|
opCode |
Integer |
Le code d'opération de l'instance de tâche planifiée. Vous pouvez ignorer ce champ. |
|
flowId |
Long |
L'ID du workflow.
|
|
nodeId |
Long |
L'ID du nœud correspondant à l'instance de tâche planifiée. |
|
beginWaitResTime |
Long |
L'heure à laquelle l'instance de tâche planifiée a commencé à attendre des ressources. |
|
taskId |
Long |
L'ID de l'instance de tâche planifiée. |
|
status |
Integer |
L'état de la tâche. Valeurs possibles :
|
|
eventCode |
String |
Le code d'événement Extensions. |
Événement de changement d'instance (gel, dégel, arrêt, réexécution, définition sur succès)
L'exemple suivant présente le format du corps de message (le contenu du champ data dans le message d'événement) de l'événement de changement d'instance.
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "freeze-instance",
"operator": "19***735",
"projectId": 12***8,
"projectType": "PROD",
"taskIds": [
523***9736
],
"tenantId": 28***656
}
}
Le tableau suivant décrit les champs :
|
Field |
Type |
Description |
|
operator |
String |
L'UID de l'utilisateur qui a effectué l'opération sur l'instance (tel que gel, dégel, arrêt, réexécution ou définition sur succès). |
|
projectType |
String |
L'environnement d'exécution.
|
|
taskIds |
List |
La liste des ID d'instance. |
|
projectId |
Long |
L'ID de l'espace de travail DataWorks. |
|
tenantId |
Long |
L'ID du locataire de l'espace de travail auquel appartient l'instance. |
|
eventCode |
String |
Le code d'événement. |
Événement de changement de pré-instance ( gel, dégel, réexécution, définition sur succès, arrêt de l'instance)
L'exemple suivant présente le format du corps de message (le contenu du champ data dans le message d'événement) de l'événement de changement de pré-instance.
{
"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"
}
}
Le tableau suivant décrit les champs :
|
Field |
Type |
Description |
|
extensionBizId |
String |
L'ID du processus de point de contrôle Extensions. |
|
extensionBizName |
String |
Le nom de l'objet d'opération. Plusieurs objets sont décrits sous la forme « nom de l'objet... ». |
|
projectId |
Long |
L'ID de l'espace de travail DataWorks. |
|
taskIds |
List |
La liste des ID d'instance. |
|
tenantId |
String |
L'ID du locataire de l'espace de travail auquel appartient l'instance. |
|
operator |
Long |
L'UID de l'utilisateur qui a effectué l'opération sur l'instance. |
|
eventCode |
String |
Le code d'événement du point d'extension. |
Événement de changement d'instance - Suppression des instances expirées
L'exemple suivant présente le format du corps de message (le contenu du champ data dans le message d'événement) de l'événement de suppression des instances expirées.
{
"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
}
}
Le tableau suivant décrit les champs :
Liste des événements Operation Center
Liste des événements
La modification du groupe de ressources de planification ou le changement de propriétaire déclenche l'événement node-change-updated.
|
Event type |
Event (and triggering operation) |
Standard event |
Extension point event |
EventBridge event type (Type) |
Extension event code (eventCode) |
|
Modification de nœud |
Supprimer un nœud
|
|
|
|
|
|
Pré-événement pour le retrait de déploiement de nœud Retirer directement le déploiement d'un nœud à partir des tâches planifiées dans l'environnement de production Remarque
Cette opération supprime également le nœud dans Data Studio et le déplace vers la corbeille. |
|
|
|
|
|
|
Pré-événement pour le gel de nœud Important
Cet événement déclenche également l'événement node-change-updated. |
|
|
|
|
|
|
Pré-événement pour le dégel de nœud Important
Cet événement déclenche également l'événement node-change-updated. |
|
|
|
|
|
|
Rétroplanning des données de nœud |
Pré-événement pour le rétroplanning des données |
|
|
|
|
|
Changement d'état de tâche |
Changement d'état de tâche planifiée |
|
|
|
|
|
Modifications d'instance |
Geler l'instance |
|
|
|
|
|
Dégeler l'instance |
|
|
|
|
|
|
Arrêter l'instance |
|
|
|
|
|
|
Réexécuter l'instance
|
|
|
|
|
|
|
Définir l'instance sur succès |
|
|
|
|
|
|
Supprimer les dépendances en amont spécifiées d'une instance |
|
|
|
|
|
|
Pré-événement pour le gel d'une instance |
|
|
|
|
|
|
Pré-événement pour le dégel d'une instance |
|
|
|
|
|
|
Pré-événement pour la réexécution d'une instance |
|
|
|
|
|
|
Pré-événement pour la définition d'une instance sur succès |
|
|
|
|
|
|
Pré-événement pour l'arrêt d'une instance |
|
|
|
|
|
|
Supprimer les instances expirées |
|
|
|
|
|
|
Changements d'état de workflow |
Changements d'état de workflow
|
|
|
|
|
|
Alertes de surveillance |
Alertes de surveillance |
|
|
|
|
Format du message
Événements de modification de nœud (suppression, retrait de déploiement, gel et dégel)
|
Field |
Type |
Description |
|
deletedTaskInstanceIds |
List |
La liste des ID d'instance supprimés. |
|
owner |
String |
L'ID utilisateur du propriétaire de l'instance. |
|
operationTime |
Long |
L'heure de l'opération. |
|
blockBusiness |
Boolean |
Indique s'il faut bloquer le processus lorsqu'une extension existe.
|
|
appId |
Long |
L'ID de l'espace de travail DataWorks. |
|
tenantId |
String |
L'ID du locataire de l'espace de travail auquel appartient l'instance. |
|
operator |
Long |
L'UID de l'utilisateur qui a effectué l'opération sur l'instance. |
|
eventCode |
String |
Le code d'événement du point d'extension. |
Supprimer la dépendance en amont spécifiée de l'événement d'instance
L'exemple suivant présente le format du corps de message (le contenu du champ data dans le message d'événement) de l'événement de suppression de la dépendance en amont spécifiée de l'instance :
{
"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
}
}
Le tableau suivant décrit les champs :
|
Field |
Type |
Description |
|
taskInstanceId |
Long |
L'ID de l'instance en aval. |
|
upstreamTaskInstanceIds |
List |
La liste des ID d'instance en amont dont la dépendance est supprimée. |
|
operator |
String |
L'UID de l'utilisateur qui a effectué l'opération. |
|
operationTime |
Long |
L'heure de l'opération. |
Événement de changement d'état de workflow
L'exemple suivant présente le format du corps de message (le contenu du champ data dans le message d'événement) de l'événement de changement d'état de workflow.
{
"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
}
}
Le tableau suivant décrit les champs :
|
Field |
Type |
Description |
|
bizDate |
String |
La date métier du workflow. Format : |
|
createTime |
String |
L'heure de création du workflow. Format : |
|
dagId |
Long |
L'ID du DAG. Vous pouvez utiliser cet ID pour obtenir les détails du DAG. |
|
dagName |
String |
Le nom du workflow. |
|
dagType |
Integer |
Le type de DAG. Valeurs possibles :
|
|
flowId |
Integer |
L'ID du workflow auquel appartient le DAG. |
|
flowName |
String |
Le nom du workflow auquel appartient le DAG. |
|
operator |
String |
L'UID de l'utilisateur qui a créé le workflow. |
|
projectEnv |
String |
L'environnement du workflow. Valeurs possibles :
|
|
tenantId |
Long |
L'ID du locataire de l'espace de travail auquel appartient l'instance planifiée. |
|
projectId |
Long |
L'ID de l'espace de travail. |
|
status |
Integer |
L'état des tâches dans le workflow. Valeurs possibles :
|
|
eventCode |
String |
Le code d'événement Extensions. |
Alertes de surveillance
-
L'exemple suivant présente le format du corps de message d'une alerte de ligne de base (le contenu du champ
datadans le 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 } }Le tableau suivant décrit les champs.
Field
Type
Description
alarmType
String
Le type d'alerte. Valeurs possibles :
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
baselineId
Long
L'ID de la ligne de base.
baselineName
String
Le nom de la ligne de base.
baselineStatus
Integer
L'état de la ligne de base. Valeurs possibles :
-
-1 : Anormal.
-
1 : Sûr.
-
2 : Avertissement.
-
3 : Violation.
bizDate
Long
L'horodatage de la date métier.
inGroupId
Integer
Le numéro de cycle de l'instance de ligne de base. La valeur est
1pour les lignes de base quotidiennes. La plage de valeurs est[1,24]pour les lignes de base horaires.nodeId
Long
L'ID du nœud qui a provoqué l'exception de ligne de base.
projectId
Long
L'ID de l'espace de travail auquel appartient la ligne de base.
taskId
Long
L'ID de l'instance qui a provoqué l'exception de ligne de base.
tenantId
Long
L'ID du locataire.
eventCode
String
Le code d'événement Extensions.
-
-
L'exemple suivant présente le format du corps de message d'une alerte d'événement (le contenu du champ
datadans le 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 } }Le tableau suivant décrit les champs.
Field
Type
Description
alarmType
String
Le type d'alerte. Valeurs possibles :
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
topicId
Long
L'ID de l'événement.
taskStatus
String
L'état de l'instance de nœud qui a déclenché l'événement.
nodeId
Integer
L'ID du nœud qui a déclenché l'événement.
projectId
Long
L'ID de l'espace de travail auquel appartient le nœud qui a déclenché l'événement.
taskId
Long
L'ID de l'instance de nœud qui a déclenché l'événement.
tenantId
Long
L'ID du locataire.
-
-
L'exemple suivant présente le format du corps de message d'une alerte de règle de tâche (le contenu du champ
datadans le message).RemarqueEn général, les objets de règle incluent les nœuds de tâche, les lignes de base, les espaces de travail et les 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 } }Le tableau suivant décrit les champs.
Field
Type
Description
alarmType
String
Le type d'alerte. Valeurs possibles :
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
nodeIds
String
La liste des nœuds qui ont déclenché l'alerte de règle.
remindId
Long
L'ID de la règle.
remindType
Stirng
La condition de déclenchement de la règle. Valeurs possibles :
-
FINISHED : Terminé.
-
UNFINISHED : Non terminé.
-
ERROR : Erreur survenue.
-
CYCLE_UNFINISHED : Cycle non terminé.
-
TIMEOUT : Délai dépassé.
projectId
Long
L'ID de l'espace de travail auquel appartient le nœud qui a déclenché la règle.
remindUnit
String
### **Liste des événements Security Center** #### Liste des événementsLe type d'objet qui a déclenché la règle. Valeurs possibles :
-
NODE : Nœud de tâche.
-
GATEWAY_RES : Groupe de ressources exclusif pour la planification.
-
DI_RES : Groupe de ressources Data Integration.
Type d'événement
Événement (et opération déclenchante)
Événement standard
Événement de point d'extension
Type d'événement EventBridge
(Type)
Code d'événement d'extensions (eventCode)
Centre d'approbation
(V1)
Créer un processus de demande d'autorisation V1


dataworks:ApprovalChange:ApprovalChangeCreatedapproval-change-createdTerminer le processus de demande d'autorisation V1


dataworks:ApprovalChange:ApprovalChangeFinishedapproval-change-finishedCentre d'approbation
(V2)
Créer un processus de demande d'autorisation V2


dataworks:ApprovalChange:ApprovalChangeCreatedV2approval-change-created-v2Terminer le processus de demande d'autorisation V2


dataworks:ApprovalChange:ApprovalChangeFinishedV2approval-change-finished-v2Security Center (demande d'autorisation V1)
Créer un pré-événement pour le formulaire de demande d'autorisation V1


dataworks:ApprovalChange:ApprovalChangeBeforeCreateapproval-change-before-createSecurity Center (demande d'autorisation V2)
Créer un pré-événement pour le formulaire de demande d'autorisation V2


dataworks:ApprovalChange:ApprovalChangeBeforeCreateV2approval-change-before-create-v2Format du message
Centre d'approbation (processus de demande d'autorisation V1)
-
L'exemple suivant illustre le format du corps du message pour le pré-événement de création d'une demande d'autorisation (le contenu du champ
datadans le message d'événement).{ "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 }Le tableau suivant décrit les champs :
Champ
Type
Description
appId
Long
ID de l'espace de travail.
assignee
String
BaseId du gestionnaire d'approbation.
assigneeName
String
Nom du gestionnaire d'approbation.
comments
String
Remarques.
createTime
Long
Horodatage de création de la demande d'approbation.
flowId
String
ID de la demande d'approbation.
status
String
Statut de la demande d'approbation.
taskId
String
ID de la tâche d'approbation.
tenantId
String
ID du locataire.
updateTime
String
Horodatage de mise à jour de la demande d'approbation.
eventType
String
Type d'événement.
process
Object
Objet de la tâche d'approbation.
applicant
String
BaseID du demandeur.
applicantName
String
Nom du demandeur.
assignmentCategory
String
Type du contenu de la demande.
createTime
String
Horodatage de création de la demande d'approbation.
processDefinitionId
String
ID de la définition du workflow.
processId
String
ID du workflow.
status
String
Statut du workflow.
title
String
Titre du workflow.
updateTime
Long
Horodatage de mise à jour de la demande d'approbation.
approvalContent
Object
Objet du contenu d'approbation.
applyPeriod
String
Durée demandée pour la demande d'approbation.
applyReason
String
Motif de la demande d'approbation.
contentType
String
Type du contenu d'approbation.
odpsProjectName
String
Nom du projet d'approbation.
resourceSummary
String
Description de la ressource.
tenantId
Long
ID du locataire.
workspaceId
Long
ID de l'espace de travail.
projectEnv
String
Environnement auquel appartient le projet d'approbation.
granteeAccounts
Array
Liste des accès accordés.
.granteeId
String
ID du bénéficiaire.
granteeType
String
Type du bénéficiaire.
granteeTypeSub
String
Sous-type du bénéficiaire.
granteeName
String
Nom du bénéficiaire.
arrayData
Array
Liste du contenu accordé. Pour plus d'informations, consultez Annexe : Format du message.
eventType
String
Type d'événement.
-
L'exemple suivant illustre le format du corps du message pour l'événement de fin de demande d'approbation (le contenu du champ
datadans le message d'événement).{ "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 } } }Le tableau suivant décrit les champs :
Champ
Type
Description
appId
Long
ID de l'espace de travail.
assignee
String
BaseId du gestionnaire d'approbation.
assigneeName
String
Nom du gestionnaire d'approbation.
comments
String
Remarques.
createTime
Long
Horodatage de création de la demande d'approbation.
flowId
String
ID de la demande d'approbation.
status
String
Statut de la demande d'approbation.
taskId.
String
ID de la tâche d'approbation.
tenantId
String
ID du locataire.
updateTime
String
Horodatage de la dernière mise à jour de la demande d'approbation.
eventType
String
Type d'événement.
process
Object
Objet de la tâche d'approbation.
applicant
String
BaseID du demandeur.
applicantName
String
Nom du demandeur.
assignmentCategory
String
Type du contenu de la demande.
createTime
String
Horodatage de création de la demande d'approbation.
processDefinitionId
String
ID de la définition du workflow.
processId
String
ID du workflow.
status
String
Statut du workflow.
title
String
Titre du workflow.
updateTime
Long
Horodatage de la dernière mise à jour de la demande d'approbation.
approvalContent
Object
Objet du contenu d'approbation.
applyPeriod
String
Durée de la demande.
applyReason
String
Motif de la demande.
contentType
String
Type de contenu.
odpsProjectName
String
Nom du projet.
resourceSummary
String
Description de la ressource.
tenantId
Long
ID du locataire.
workspaceId
Long
ID de l'espace de travail.
projectEnv
String
Environnement.
granteeAccounts
Array
Liste des autorisations d'accès accordées.
granteeId
String
ID du bénéficiaire.
granteeType
String
Type d'autorisation.
granteeTypeSub
String
Sous-type du bénéficiaire, qui indique le type de compte. Valeurs possibles :
-
Compte de production (compte utilisé pour la planification de production) : ACCOUNT_PRD(101)
-
Compte d'application : ACCOUNT_APP(102)
-
Compte personnel : ACCOUNT_USER(103)
-
Compte de département : ACCOUNT_DEPT(104)
-
Compte fictif : ACCOUNT_MOCK(106)
-
Compte d'un autre utilisateur : ACCOUNT_OTHER_USER(105)
granteeName
String
Nom du bénéficiaire.
arrayData
Array
Liste du contenu accordé. Pour plus d'informations, consultez Annexe : Liste du contenu accordé.
eventType
String
Type d'événement.
-
Centre d'approbation (processus de demande d'autorisation V2)
La création du processus de demande d'autorisation V2 (
eventCode:approval-change-created-v2) et la finalisation du processus de demande d'autorisation V2 (eventCode:approval-change-finished-v2) sont des événements réguliers au niveau de l'espace de travail. Contrairement à la version V1, le champprocess.approvalContentdes événements V2 utilise la structure nativeApplicationContentet identifie les types de ressources viaresource.defSchemaetresource.defVersion.RemarqueUn événement de fin de processus indique que le processus d'approbation est terminé (approuvé ou rejeté). Cela ne signifie pas que l'autorisation de la ressource sous-jacente a été exécutée avec succès. Pour vérifier si l'autorisation a pris effet, interrogez les autres API opérationnelles.
-
L'exemple suivant présente le format de message complet pour un événement V2 de création d'un processus de demande d'autorisation.
{ "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" }Le tableau ci-dessous décrit les champs de premier niveau dans
data. Pour obtenir la description complète des champs des sous-objets, reportez-vous à la section relative aux événements V2 de pré-vérification du Security Center.Field
Type
Description
eventType
String
Valeur fixe :
approval.eventCode
String
Le code de l'événement. Valeur fixe
approval-change-created-v2pour les événements de création ; valeur fixeapproval-change-finished-v2pour les événements de fin.tenantId
Long
L'ID du locataire DataWorks.
appId
Long
L'ID de l'espace de travail DataWorks.
flowId
String
L'ID de la demande. Dans les processus natifs du Security Center, cette valeur est identique à
processId.flowCode
String
Le type de demande. Exemple :
MaxComputeTable.processId
String
L'ID de l'instance du processus d'approbation.
status
String
Défini sur
Pendingpour les événements de création ; défini surCompletedpour les événements de fin.approvalAction
String
L'action d'approbation. Renvoyée sous la forme
Agree(approuvé) ouDeny(rejeté) dans les événements de fin.assignee
String
L'ID Base de l'approbateur final. Généralement renvoyé dans les événements de fin.
createTime
Long
L'heure de création de l'instantané de l'événement. Horodatage Unix en millisecondes.
updateTime
Long
L'heure de mise à jour de l'instantané de l'événement. Horodatage Unix en millisecondes.
process
Object
Le processus d'approbation et le contenu de la demande.
process.processId
String
L'ID de l'instance du processus d'approbation.
process.assignmentCategory
String
La catégorie de ressource. Exemples :
MaxCompute,DLF,HOLO. Ne vous fiez pas uniquement à ce champ pour identifier la ressource. Utilisez plutôtarrayData[].resource.defSchema.process.approvalContent
Object
Le contenu de la demande d'approbation.
process.approvalContent.arrayData
Array
La liste native
ApplicationContentDTOdu Security Center. Chaque enregistrement représente une ressource et un ensemble d'autorisations.arrayData[].resource
Object
La définition de ressource native du Security Center, contenant
defSchema,defVersionetmetaData.arrayData[].grantee
Object
Le principal autorisé, contenant
principalTypeetprincipalId.arrayData[].accessTypes
Array<String>
La liste des autorisations demandées par l'utilisateur.
arrayData[].finalAccessTypes
Array<String>
La liste finale des autorisations après ajustement lors de l'approbation. Généralement identique à
accessTypesau moment de la création.arrayData[].expirationTime
Long
L'heure d'expiration de l'autorisation. Horodatage Unix en millisecondes.
arrayData[].status
String
L'état du contenu de la demande. Généralement
WAIT_APPROVALpour les événements de création ; généralementCONFIRMEDpour les événements de fin approuvés.arrayData[].operation
String
La direction de l'opération d'autorisation. Généralement
Grantpour les événements de demande d'autorisation.process.applicant
String
L'ID Base du demandeur.
-
L'exemple suivant présente le format de message complet pour un événement V2 de fin d'un processus de demande d'autorisation.
{ "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" }Les descriptions des champs sont identiques à celles de l'événement V2 de création (voir le tableau des descriptions de champs précédent). Le tableau ci-dessous répertorie les champs qui diffèrent dans l'événement de fin.
Field
Type
Description
status
String
Valeur fixe
Completedpour les événements de fin. Remarque :Completedindique que le processus d'approbation est terminé. Cela ne signifie pas que l'autorisation sous-jacente a pris effet. L'autorisation réelle peut être exécutée de manière asynchrone.approvalAction
String
L'action d'approbation.
Agree(approuvé) ouDeny(rejeté).assignee / assigneeName
String
L'ID Base et le nom d'affichage de l'approbateur final. Renvoyés uniquement dans les événements de fin.
arrayData[].status
String
Défini sur
CONFIRMEDaprès approbation ; défini surREJECT_APPROVALaprès rejet.process.status
String
L'état du workflow. Défini sur
Completed(terminé) dans les événements de fin.
Security Center (événement V1 de pré-création de demande d'autorisation)
L'exemple suivant présente le format de l'entité de message (le contenu du champ
datadans le message d'événement) pour un événement de pré-vérification de demande d'autorisation sur une table.{ "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 } }Le tableau ci-dessous décrit les champs.
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:
-
true: Enabled.
-
false: Disabled.
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 (événement V2 de pré-création de demande d'autorisation)
L'événement V2 de pré-création de demande d'autorisation (
eventCode:approval-change-before-create-v2) est un événement de point d'extension au niveau global. Contrairement à l'événement de pré-vérification V1, le corps du message V2data.orderest un objet natifApplicationFormqui prend en charge tous les types de ressources actuels viadefSchemaet identifie les types de ressources viaresource.defSchemaetresource.defVersion.L'exemple suivant présente le format de message complet pour un événement V2 de pré-création de demande d'autorisation.
{ "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" }Le tableau ci-dessous décrit les champs de
data.Field
Type
Description
eventType
String
Valeur fixe :
approval-create-before-v2.eventCode
String
Le code de l'événement de point d'extension V2. Valeur fixe :
approval-change-before-create-v2.tenantId
Long
L'ID du locataire DataWorks.
extensionBizId
String
L'ID métier unique du point d'extension. Pour les événements V2, la valeur se termine par
@@v2.operator
String
L'ID Base de l'utilisateur qui a initié la demande.
extensionBizName
String
Le nom d'affichage de l'activité du point d'extension. N'utilisez pas ce champ comme clé unique.
order
Object
Le formulaire de demande natif du Security Center. Type :
ApplicationForm.order.operator
String
L'ID Base de l'utilisateur qui a initié la demande.
order.applicationContents
Array
La liste des détails des autorisations de ressource pour cette demande.
order.applicationContents[].resource
Object
Les informations de définition de ressource pour la ressource demandée.
order.applicationContents[].resource.defSchema
String
Le nom de la définition de ressource qui distingue les moteurs et les modèles de ressource. Exemples :
MaxCompute,DLF_V1,HOLOGRES. Orientez la logique d'analyse en fonction dedefSchema. Ignorez gracieusement les valeurs inconnues au lieu de générer des erreurs.order.applicationContents[].resource.defVersion
String
La version de la définition de ressource. Exemple :
v1.0.0.order.applicationContents[].resource.metaData
Object
Les métadonnées hiérarchiques organisées par définition de ressource. Les champs varient selon
defSchemaetdefVersion. Autorisez les champs inconnus dans votre implémentation de consommateur.order.applicationContents[].grantee
Object
Le principal autorisé.
order.applicationContents[].grantee.principalType
String
Le type du principal autorisé. Exemples :
RAM_USER,RAM_ROLE.order.applicationContents[].grantee.principalId
String
L'ID du principal autorisé. Le format dépend de
principalType.order.applicationContents[].accessTypes
Array<String>
La liste des autorisations demandées par l'utilisateur. Exemple :
["Select", "Describe"].order.applicationContents[].expirationTime
Long
L'heure d'expiration de l'autorisation. Horodatage Unix en millisecondes.
order.applyReason
String
La raison de la demande.
RemarqueDans les événements de pré-vérification,
applicationContents[]n'a pas été persisté. Par conséquent,contentId,processInstanceId,resourceIndex,finalAccessTypes,status,createTimeetupdateTimen'existent généralement pas. Votre analyseur JSON doit ignorer les champs inconnus et permettre l'absence des champs marqués comme facultatifs dans ce document.Guide de maintenance et de migration des événements V1
Échéance de maintenance
Les événements V1 du Security Center de DataWorks (
approval-change-before-create,approval-change-created,approval-change-finished) seront maintenus jusqu'au 31 décembre 2026. À partir du 1er janvier 2027 :Aucun nouveau type de ressource, champ ou capacité de compatibilité ne sera ajouté aux événements V1.
Les nouveaux types de ressources seront envoyés uniquement via les événements V2 et ne seront pas rétroportés vers les événements V1.
La fin de la maintenance ne signifie pas l'arrêt immédiat de la diffusion. La date d'arrêt définitive de la diffusion des événements V1 sera annoncée séparément. Surveillez les mises à jour sur le site officiel.
Mappage des événements V1 / V2
V1 event (eventCode)
Corresponding V2 event (eventCode)
Key changes
approval-change-before-createapproval-change-before-create-v2Le corps du message
data.ordermigre d'une structure personnalisée vers le formulaire natifApplicationFormdu Security Center. Les types de ressources sont identifiés viaresource.defSchema+resource.defVersion.approval-change-createdapproval-change-created-v2process.approvalContentmigre de la structure personnaliséearrayDataversApplicationContentDTO. Les informations sur les ressources sont identifiées viaresource.defSchema.approval-change-finishedapproval-change-finished-v2Identique à ce qui précède. Un événement de fin indique uniquement que le processus d'approbation est terminé. Cela ne signifie pas que l'autorisation de ressource sous-jacente a été exécutée avec succès.
Notes sur la migration
Abonnements distincts : Les versions V1 et V2 utilisent des valeurs
eventCodedifférentes. Pendant la période de maintenance, les deux jeux d'événements sont envoyés pour la même opération d'approbation. Distinguez les deux jeux par leureventCodeafin d'éviter le double traitement d'une même étape métier.Analyse séparée : Lors de l'abonnement via EventBridge, filtrez les événements cibles en fonction du champ EventBridge event type (Type). Les versions V1 et V2 possèdent des valeurs de type CloudEvents différentes. Créez des règles d'abonnement distinctes pour chacune.
Compatibilité de l'analyse des ressources : Lors de l'analyse des informations de ressource des événements V2, utilisez
resource.defSchema+resource.defVersioncomme source de référence. Autorisez les champs inconnus dansresource.metaData. Mettez en œuvre une analyse compatible (ignorez les valeursdefSchemainconnues au lieu de lever des exceptions).Sélection de la clé de corrélation : Utilisez
processIdcomme clé de corrélation de la requête etcontentIdcomme clé de corrélation du contenu de la requête.Vérification par contournement : Acheminez les messages V2 vers un environnement de test et comparez les résultats avec ceux de la version V1 avant de basculer la consommation en production.
Annexe : Liste du contenu d'octroi de droits (MaxCompute)
Dans les événements du Security Center, lorsqu'une demande d'approbation ou d'autorisation sur une table est déclenchée, DataWorks ajoute
arrayDataau message d'événement envoyé à EventBridge. Lorsque le typeassignmentCategoryestMaxCompute, le contenu dearrayDataest le suivant :{ "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" }Le tableau suivant décrit les champs.
Field
Type
Description
ownerBaseId
String
L'identifiant BaseID du propriétaire de la table.
ownerAccountName
String
Le nom du propriétaire de la table.
objectType
String
Le type d'objet.
odpsTable
String
Le nom de la table.
envType
String
L'environnement de la table.
projectGuid
String
L'identifiant GUID du projet.
objectGuid
String
L'identifiant GUID de l'objet.
objectName
String
Le nom de l'objet.
odpsProject
String
Le nom du projet ODPS.
projectName
String
Le code du projet.
projectId
Long
L'identifiant du projet.
workspaceId
String
L'identifiant de l'espace de travail.
actions
Array
La liste des types d'action.
Annexe : Liste du contenu d'octroi de droits (Data Service)
Dans les événements du Security Center, lorsqu'une demande d'approbation ou d'autorisation sur une table est déclenchée, DataWorks ajoute
arrayDataau message d'événement envoyé à EventBridge. Lorsque le typeassignmentCategoryestDataService, le contenu dearrayDataest le suivant :{ "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":"******" }Le tableau suivant décrit les champs.
Field
Type
Description
resourceId
String
L'identifiant de la ressource.
ownerName
String
Le nom du propriétaire de la ressource.
resourceVersion
Long
La version de la ressource.
name
String
Le nom de la ressource.
dsDeployId
String
L'identifiant de déploiement Data Service.
workspaceName
String
Le nom de l'espace de travail.
id
String
L'identifiant unique de la ressource.
type
String
Le type de ressource. Valeurs possibles :
-
1 : API.
-
2 : Fonction.
-
3 : Orchestration d'API.
ownerId
String
L'identifiant BaseID du propriétaire de la ressource.
url
String
L'URL Data Service.
workspaceId
String
L'identifiant de l'espace de travail.
Événements au niveau du locataire
Les événements générés par les modules au niveau du locataire sont des événements de locataire, tels que les événements générés lors de la suppression d'un espace de travail depuis la console. Utilisez la liste d'événements ci-dessous pour identifier quels événements sont des événements standard et lesquels sont des événements de point d'extension, ainsi que leurs formats de message.
Les onglets de format de message suivants ne contiennent qu'une partie du contenu. Pour consulter les messages complets envoyés à EventBridge ou Function Compute, reportez-vous à l'Annexe : Format du message.
Liste des événements de la console
Liste des événements
Event type
Event (and triggering operation)
Standard event
Extension point event
EventBridge event type (Type)
Extensions event type (eventCode)
Suppression d'un espace de travail
Événement de point d'extension pour la suppression d'un espace de travail


dataworks:ProjectChange:DeleteProjectdelete-projectÉvénement post-suppression d'un espace de travail


dataworks:ProjectChange:ProjectDeletedproject-deletedFormat du message
Format de l'entité de message : Événements de suppression d'espace de travail
-
L'exemple suivant présente le format de l'entité de message (le contenu du champ
datadans le message d'événement) pour l'événement de point d'extension de suppression d'espace de travail au niveau du locataire.{ "data": { "eventCode": "delete-project", "projectId": 7***7, // Workspace ID "tenantId": 2807****0784, // Tenant ID "operator": "19***735 }Le tableau suivant décrit les champs :
Field
Type
Description
operator
String
L'UID de l'utilisateur qui a supprimé l'espace de travail DataWorks.
projectId
Long
L'identifiant de l'espace de travail DataWorks à supprimer.
tenantId
Long
L'identifiant du locataire de l'espace de travail à supprimer.
eventCode
String
Code d'événement Extensions.
-
L'exemple suivant présente le format du corps du message (le contenu du champ
datadans le message d'événement) de l'événement postérieur à la suppression de l'espace de travail du locataire.{ "data": { "eventCode": "project-deleted", "tenantId": 28***656, "blockBusiness": false, "projectName": "test2", "projectId": 9***4, "operator": "19***735", "timestamp": 1702260556896 } }Les champs sont décrits comme suit :
Field
Type
Description
operator
String
L'UID de l'utilisateur qui a supprimé l'espace de travail DataWorks.
projectId
Long
L'identifiant de l'espace de travail DataWorks à supprimer.
projectName
String
Le nom de l'espace de travail DataWorks à supprimer.
tenantId
Long
L'identifiant du locataire auquel appartient l'espace de travail à supprimer.
timestamp
Long
L'horodatage d'envoi du message.
eventCode
String
Code d'événement Extensions.
Liste des événements de chargement et de téléchargement de données
Liste des événements
Type d'événement
Événement (et opération déclenchante)
Événement standard
Événement de point d'extension
Type d'événement EventBridge (Type)
Code d'événement d'extension (eventCode)
Téléchargement et chargement de données
Pré-événement pour le téléchargement de données - génération de fichier


dataworks:ResourcesDownload:DownloadResources
download-resources
Pré-événement pour le téléchargement de données - téléchargement de fichier


dataworks:ResourcesDownload:DownloadResourcesExecute
download-resources-execute
Pré-événement pour le chargement de données


dataworks:ResourcesUpload:UploadDataToTable
upload-data-to-table
Format du message
Téléchargement et chargement de données
-
L'exemple suivant illustre le format du corps du message (le contenu du champ
datadans le message d'événement) du pré-événement pour le téléchargement de données - génération de fichier.{ "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", }Les champs sont décrits ci-dessous :
Champ
Type
Description
moduleType
String
La source des données téléchargées :
-
entity_transfer : Données téléchargées depuis .
-
develop_query : Données interrogées et téléchargées à l'aide d'instructions SQL dans Data Studio.
-
sqlx_query : Données interrogées et téléchargées à l'aide d'instructions SQL dans .
-
dw_excel : Données téléchargées depuis .
operatorBaseId
String
Le BaseID de l'utilisateur ayant effectué l'opération de téléchargement.
operatorUid
String
L'UID de l'utilisateur ayant effectué l'opération de téléchargement.
fileName
String
Le nom du fichier téléchargé.
fileSize
Long
La taille du fichier téléchargé.
datasourceId
String
L'ID de la source de données à laquelle appartiennent les données téléchargées.
datasourceName
String
Le nom de la source de données à laquelle appartiennent les données téléchargées.
queryDwProjectId
String
L'ID de l'espace de travail DataWorks auquel appartiennent les données téléchargées.
queryDwProjectName
String
L'identifiant de l'espace de travail DataWorks auquel appartiennent les données téléchargées.
dataRowSize
Long
Le nombre de lignes de données téléchargées.
sqlText
String
Le code SQL utilisé pour interroger et télécharger les données.
eventCode
String
Type d'événement d'extensions.
-
-
L'exemple suivant illustre le format du corps du message (le contenu du champ
datadans le message d'événement) du pré-événement pour le téléchargement de données - téléchargement de fichier.{ "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" }Le tableau suivant décrit les champs clés.
Champ
Type
Description
moduleType
String
La source des données téléchargées :
-
entity_transfer : Données téléchargées depuis .
-
develop_query : Données interrogées et téléchargées à l'aide d'instructions SQL dans Data Studio.
-
sqlx_query : Données interrogées et téléchargées à l'aide d'instructions SQL dans .
-
dw_excel : Données téléchargées depuis .
operatorBaseId
String
Le BaseID de l'utilisateur ayant effectué l'opération de téléchargement.
operatorUid
String
L'UID de l'utilisateur ayant effectué l'opération de téléchargement.
fileName
String
Le nom du fichier téléchargé.
fileSize
Long
La taille du fichier téléchargé.
datasourceId
String
L'ID de la source de données à laquelle appartiennent les données téléchargées.
datasourceName
String
Le nom de la source de données à laquelle appartiennent les données téléchargées.
queryDwProjectId
String
L'ID de l'espace de travail DataWorks auquel appartiennent les données téléchargées.
queryDwProjectName
String
L'identifiant de l'espace de travail DataWorks auquel appartiennent les données téléchargées.
dataRowSize
Long
Le nombre de lignes de données téléchargées.
sqlText
String
Le code SQL utilisé pour interroger et télécharger les données.
ip
String
L'adresse IP de l'utilisateur ayant effectué l'opération de téléchargement.
eventCode
String
Type d'événement d'extensions.
-
-
L'exemple suivant illustre le format du corps du message (le contenu du champ
datadans le message d'événement) du pré-événement pour le chargement de données.{ "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" }Les champs sont décrits ci-dessous :
Champ
Type
Description
uploadSourceType
String
La source des données chargées :
-
LOCAL : Chargement de données depuis un fichier local.
-
OSS : Chargement de données depuis un fichier OSS.
-
DW_EXCEL : Chargement de données depuis dans DataWorks.
-
HTTP : Chargement de données depuis un fichier HTTP.
optTableType
String
Indique si les données doivent être chargées dans une table existante ou une nouvelle table dans la source de données du moteur spécifiée. Valeurs possibles :
-
CREATE : Chargement des données dans une nouvelle table.
-
IMPORT : Chargement des données dans une table existante.
targetEngineType
String
Le type de moteur vers lequel les données sont chargées. Valeurs possibles :
-
MaxCompute
-
EMR Hive
-
Hologres
writeType
String
La méthode utilisée pour écrire les données dans la table de destination. Valeurs possibles :
-
OVERWRITE : Écrasement des données existantes dans la table.
-
APPEND : Ajout des données chargées à la table de destination.
conflictMode
String
La politique de résolution des conflits de clé primaire pour le chargement de données :
-
IGNORE : En cas de conflit de clé primaire, les données chargées sont ignorées.
-
REPLACE : En cas de conflit de clé primaire, la ligne conflictuelle est d'abord supprimée, puis les données chargées sont insérées dans cette ligne. Les colonnes non spécifiées dans les données chargées sont définies sur NULL.
-
UPDATE : Les données chargées écrasent les données originales de la table. Seules les colonnes spécifiées dans les données chargées sont écrasées, et les colonnes non spécifiées restent inchangées.
operatorBaseId
String
Le BaseID de l'utilisateur ayant effectué l'opération de chargement.
operatorUid
String
L'UID de l'utilisateur ayant effectué l'opération de chargement.
datasourceId
String
L'ID de la source de données vers laquelle les données sont chargées.
datasourceName
String
Le nom de la source de données vers laquelle les données sont chargées.
tableGuid
String
Le GUID de la table. Exemples :
-
MaxCompute :
odps.maxcomputeProject.tableName. -
EMR_Hive :
emr_hive.emrClusterId.schema.tableName. -
Holo :
holo.hologresInstanceId.database.
queryDwProjectId
String
L'ID de l'espace de travail DataWorks auquel appartient la table.
queryDwProjectName
String
Le nom de l'espace de travail DataWorks auquel appartient la table.
fileSize
Long
La taille du fichier chargé, en octets.
eventCode
String
Code d'événement d'extensions.
-
-
L'exemple suivant illustre le format du corps du message (le contenu du champ
datadans le message d'événement) pour un événement de retour d'information sur le résultat d'un contrôle de qualité des données.{ "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 } }Le tableau ci-dessous décrit les champs clés.
Champ
Type
Description
ruleId
Long
L'ID de la règle de qualité des données.
ruleCheckId
Long
L'ID auto-incrémenté du résultat du contrôle.
feedbackContent
String
Le contenu du retour d'information.
createUser
String
L'ID utilisateur de la personne ayant fourni le retour d'information.
taskid
String
L'ID de la tâche Data Quality.
beginTime
String
L'heure du retour d'information.
envType
String
Le type de source de données de la table associée à la règle. Valeurs valides : ODPS, EMR et HOLO.
projectName
String
L'identifiant unique de la source de données à laquelle appartient la table associée à la règle.
projectId
Long
L'ID de l'espace de travail DataWorks.
tenantId
Long
L'ID du locataire DataWorks.
-
L'exemple suivant illustre le format du corps du message (le contenu du champ
datadans le message d'événement) pour un événement de fin de contrôle de qualité des données.{ "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 } }Les champs sont décrits comme suit :
Champ
Type
Description
id
Long
L'ID de clé primaire du processus de contrôle actuel. Un nouvel enregistrement d'ID de clé primaire est généré à chaque déclenchement d'un contrôle de règle.
projectId
Long
L'ID de l'espace de travail DataWorks.
tenantId
Long
L'ID du locataire DataWorks.
taskId
String
L'ID de la tâche de contrôle.
entityId
Long
L'ID de l'expression de partition.
ruleId
Long
L'ID de la règle.
property
String
Le champ de la propriété de la règle, qui correspond au nom de la colonne de la table source de données en cours de contrôle.
bizdate
Long
La date métier. Si l'entité métier contrôlée est une donnée hors ligne, la date métier correspond généralement à la veille du jour où le contrôle est effectué.
dateType
String
Le type de planification. Généralement YMD, qui représente les tâches annuelles, mensuelles et quotidiennes.
actualExpression
String
La partition réelle de la table source de données en cours de contrôle.
matchExpression
String
L'expression de partition.
blockType
Integer
La force de la règle de contrôle. La force indique l'importance de la règle. Valeurs valides :
-
1 : Règle forte.
-
0 : Règle faible.
Vous pouvez définir les règles importantes comme des règles fortes en fonction de vos besoins métier. Si une règle forte déclenche une alerte rouge, la tâche planifiée est bloquée.
checkResult
Integer
Le statut du résultat du contrôle. Valeurs valides :
-
-2 : Contrôle ignoré
-
-1 : Exception de contrôle
-
0 : Contrôle réussi
-
1 : Seuil orange déclenché
-
2 : Seuil rouge déclenché
methodName
String
Les méthodes de collecte des données d'échantillon incluent : 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 et table_count-count_distinct.
beginTime
Long
L'heure de début du contrôle.
endTime
Long
L'heure de fin pour l'interrogation des résultats de contrôle.
timeConsuming
String
Le temps consommé par la tâche de contrôle.
externalType
String
Le type du système de planification. Actuellement, seul CWF2 est pris en charge. Si externalType est vide, la tâche est une tâche d'essai manuel.
externalId
String
-
Lorsque externalType est CWF2, ce champ indique l'ID du nœud de la tâche planifiée.
-
Lorsque externalType est vide, la valeur est triggerByManual, indiquant que la tâche est déclenchée manuellement.
discrete
Boolean
Indique si le contrôle discret est utilisé. Valeurs valides :
-
true : Le contrôle discret est utilisé.
-
false : Le contrôle discret n'est pas utilisé.
fixedCheck
Boolean
Indique si le contrôle à valeur fixe est utilisé. Valeurs valides :
-
true : Le contrôle à valeur fixe est utilisé.
-
false : Le contrôle à valeur fixe n'est pas utilisé.
referenceValue
La valeur d'échantillon historique.
bizDate
Long
La date métier. Si l'entité métier contrôlée est une donnée hors ligne, la date métier correspond généralement à la veille du jour où le contrôle est effectué.
discreteProperty
String
La valeur de la colonne d'échantillon après une opération GROUP BY. Par exemple, si GROUP BY est appliqué à une colonne de genre, les valeurs DiscreteProperty sont male, female et null.
value
Decimal
La valeur d'échantillon.
singleCheckResult
Integer
La représentation sous forme de chaîne du résultat du contrôle.
sampleValue
L'échantillon actuellement utilisé.
bizDate
Long
La date métier. Si l'entité métier contrôlée est une donnée hors ligne, la date métier correspond généralement à la veille du jour où le contrôle est effectué.
value
Decimal
La valeur d'échantillon.
trend
String
La tendance du résultat du contrôle.
expectValue
Double
La valeur attendue.
op
String
L'opérateur de comparaison.
projectName
String
Le nom du moteur de calcul ou de la source de données sur lesquels les contrôles Data Quality sont effectués.
tableName
String
Le nom de la table à contrôler.
templateId
Integer
L'ID du modèle de contrôle utilisé.
checkerType
Integer
Le type du vérificateur.
ruleName
String
Le nom de la règle.
isPrediction
Boolean
Indique si le résultat est une prédiction. Valeurs valides :
-
true : Le résultat est une prédiction.
-
false : Le résultat n'est pas une prédiction.
comment
String
La description de la règle de contrôle.
eventCode
String
Le code d'événement Extensions.
-
Événements de point d'extension pour les règles de qualité des données (création, mise à jour et suppression par lot)
Liste des événements Data Quality
Liste des événements
Type d'événement
Événement (et opération de déclenchement)
Événement standard
Événement de point d'extension
Type d'événement EventBridge
(Type)
Code d'événement d'extension (eventCode)
Contrôle Data Quality
Retour d'information sur le résultat du contrôle
-
Retour d'information fourni par l'utilisateur sur les résultats du contrôle


dataworks:DqcCheck:DqcCheckFeedbackEventdqc-check-feedback-eventContrôle terminé
-
Envoie le résultat du contrôle de la règle une fois le contrôle terminé (incluant si le contrôle est réussi, les données d'échantillon et d'autres informations)


dataworks:DqcCheck:DqcCheckFinishedEventdqc-check-finished-eventPré-événement de règle de qualité des données
Pré-événement de création par lot de règles de qualité des données


dataworks:DqcCheck:BatchCreateDataQualityRulesbatch-create-data-quality-rulesPré-événement de mise à jour par lot de règles de qualité des données


dataworks:DqcCheck:BatchUpdateDataQualityRulesbatch-update-data-quality-rulesPré-événement de suppression par lot de règles de qualité des données


dataworks:DqcCheck:BatchDeleteDataQualityRulesbatch-delete-data-quality-rulesPré-événement de mise à jour de règle de qualité des données


dataworks:DqcCheck:UpdateDataQualityRuleupdate-data-quality-rulePré-événement de surveillance de la qualité des données
Pré-événement de création de surveillance de la qualité des données


dataworks:DqcCheck:CreateDataQualityEvaluationTaskcreate-data-quality-evaluation-taskPré-événement de mise à jour de la surveillance de la qualité des données


dataworks:DqcCheck:UpdateDataQualityEvaluationTaskupdate-data-quality-evaluation-taskPré-événement de clonage de la surveillance de la qualité des données


dataworks:DqcCheck:CloneDataQualityEvaluationTaskclone-data-quality-evaluation-taskPré-événement de suppression par lot de la surveillance de la qualité des données


dataworks:DqcCheck:BatchDeleteDataQualityEvaluationTasksbatch-delete-data-quality-evaluation-tasksPré-événement d'abonnement aux alertes de surveillance de la qualité des données
Pré-événement de création d'abonnement aux alertes de surveillance de la qualité des données


dataworks:DqcCheck:CreateDataQualityEvaluationTaskNotificationcreate-data-quality-evaluation-task-notification
Pré-événement de mise à jour de l'abonnement aux alertes de surveillance de la qualité des données


dataworks:DqcCheck:UpdateDataQualityEvaluationTaskNotificationupdate-data-quality-evaluation-task-notificationPré-événement de suppression de l'abonnement aux alertes de surveillance de la qualité des données


dataworks:DqcCheck:DeleteDataQualityEvaluationTaskNotificationdelete-data-quality-evaluation-task-notificationFormat du message
Contrôle Data Quality
-
L'exemple suivant illustre le format du corps du message des pré-événements de création et de mise à jour de la surveillance de la qualité des données (le contenu du champ
datadans le message d'événement).{ "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 } }Le tableau ci-dessous décrit les champs clés.
Nom du champ
Type de champ
Description
eventCode
String
Le code d'événement.
name
String
Le nom de la tâche de surveillance de la qualité des données.
description
String
La description de la tâche d'évaluation de la qualité des données.
target
DataQualityTarget
La cible de surveillance de la tâche d'évaluation de la qualité des données.
databaseType
String
Le type de base de données de la table pour un ensemble de données de type table.
-
MaxCompute
-
EMR
-
CDH
-
Hologres
-
AnalyticDB for PostgreSQL
tableGuid
String
L'ID unique de la table dans Data Map.
trigger
DataQualityEvaluationTaskTrigger
La configuration du déclencheur de la tâche d'évaluation de la qualité des données.
type
String
Le type d'événement pouvant déclencher la tâche d'évaluation de la qualité des données.
-
ByScheduledTaskInstance : Déclenché lorsqu'une instance planifiée s'exécute avec succès. Cette option est prise en charge uniquement dans les scénarios de cloud public.
-
ByManual : Déclenchement manuel.
taskIds
Array
Prend effet lorsque type=ByScheduledTaskInstance. Spécifie quelles instances de nœuds planifiés peuvent déclencher la tâche après une exécution réussie.
dataSourceId
Long
La source de données à utiliser lors de l'exécution de la tâche d'évaluation de la qualité des données.
runtimeConf
String
Les paramètres d'utilisation de la source de données. Actuellement, seule la spécification de la file d'attente EMR YARN et la définition du moteur SQL sur SPARK-SQL pour la collecte des tables EMR sont prises en charge.
rules
List
La liste des règles de qualité des données. Pour plus d'informations sur les paramètres, consultez Paramètres de pré-événement de règle de qualité des données.
hooks
Array
Les paramètres de rappel pendant le cycle de vie de l'instance de tâche d'évaluation de la qualité des données. Actuellement, seul un hook qui bloque les instances de tâches planifiées est pris en charge.
type
String
Le type d'action de suivi.
BlockTaskInstance : Bloque l'exécution d'une instance de tâche DataWorks.
condition
String
La condition de déclenchement du hook.
notifications
Array
Les paramètres de notification.
projectId
Long
L'ID de l'espace de travail.
tenantId
Long
L'ID du locataire.
operator
String
L'UID de l'opérateur.
operationTime
Long
L'heure de l'opération.
-
-
L'exemple suivant illustre le format de l'entité du message (le contenu du champ
datadans le message d'événement) pour l'événement de point d'extension de clonage de la surveillance Data Quality.{ "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 } }Le tableau ci-dessous décrit les champs clés.
Champ
Type
Description
projectId
Long
L'ID de l'espace de travail DataWorks.
tenantId
String
L'ID du locataire.
operator
String
L'UID de l'opérateur.
operationTime
Long
L'heure de l'opération.
targets
List
Les cibles de surveillance Data Quality vers lesquelles les règles sont clonées.
databaseType
String
Le type de base de données de la table pour un ensemble de données de type table.
-
MaxCompute
-
EMR
-
CDH
-
Hologres
-
AnalyticDB for PostgreSQL
tableGuid
String
L'ID unique de la table dans Data Map.
id
Long
L'ID de la règle de surveillance Data Quality source à partir de laquelle effectuer le clonage.
eventCode
String
Le code d'événement.
-
-
L'exemple suivant illustre le format de l'entité du message (le contenu du champ
datadans le message d'événement) pour l'événement de point d'extension de suppression par lot de la surveillance Data Quality.{ "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 } }Le tableau ci-dessous décrit les champs clés.
Champ
Type
Description
projectId
Long
L'ID de l'espace de travail DataWorks.
operator
String
L'UID de l'opérateur.
operationTime
Long
L'heure de l'opération.
ids
List
La liste des ID de surveillance Data Quality supprimés.
tenantId
String
L'ID du locataire.
eventCode
String
Le code d'événement.
Événements de point d'extension d'abonnement aux alertes de surveillance Data Quality (création, mise à jour et suppression)
-
L'exemple suivant présente le format de l'entité de message (le contenu du champ
datadans le message d'événement) pour l'événement de point d'extension de création en bloc de règles de qualité des données.{ "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" } } } } ] } }Le tableau suivant décrit les champs clés.
Field
Type
Description
projectId
List
ID de l'espace de travail DataWorks.
operator
String
UID de l'opérateur.
operationTime
Long
Heure de l'opération.
dataQualityTaskId
Long
ID de la tâche de surveillance Data Quality associée à la règle. Ce champ peut être vide.
target
DataQualityTarget
Cible de surveillance de la règle de qualité des données.
databaseType
String
Type de base de données du jeu de données de la table.
-
MaxCompute
-
EMR
-
CDH
-
Hologres
-
AnalyticDB for PostgreSQL
tableGuid
String
ID unique de la table dans Data Map.
rules
List
Liste des règles de qualité des données.
name
String
Nom de la règle.
enabled
Boolean
Indique si la règle est activée.
severity
String
Gravité métier de la règle, correspondant aux règles fortes et faibles sur la page.
-
High
-
Normal
description
String
Description de la règle.
templateCode
String
Modèle de règle référencé lors de la création de la règle.
samplingConfig
SamplingConfig
Paramètres requis pour la collecte d'échantillons.
metric
String
Nom de la métrique d'échantillonnage.
-
Count : Nombre de lignes de la table
-
Min : Valeur minimale de la colonne
-
Max : Valeur maximale de la colonne
-
Avg : Valeur moyenne de la colonne
-
DistinctCount : Nombre de valeurs distinctes de la colonne
-
DistinctPercent : Ratio des valeurs distinctes de la colonne par rapport au nombre de lignes
-
DuplicatedCount : Nombre de valeurs dupliquées de la colonne
-
DuplicatedPercent : Ratio des valeurs dupliquées de la colonne par rapport au nombre de lignes
-
TableSize : Taille de la table
-
NullValueCount : Nombre de lignes avec des valeurs de colonne nulles
-
NullValuePercent : Pourcentage de valeurs de colonne nulles
-
GroupCount : Nombre de lignes pour chaque valeur après agrégation par valeur de colonne
-
CountNotIn : Nombre de lignes ne correspondant pas aux valeurs énumérées
-
CountDistinctNotIn : Nombre de valeurs distinctes ne correspondant pas aux valeurs énumérées
-
UserDefinedSql : Collecte d'échantillons via SQL personnalisé
checkingConfig
CheckingConfig
Paramètres de validation des échantillons.
type
String
Méthode de calcul du seuil.
-
Fixed
-
Fluctation
-
FluctationDiscreate
-
Auto
-
Average
-
Variance
thresholds
Thresholds
Paramètres de seuil.
expected
Threshold
Paramètres de seuil attendu.
expression
String
Expression de seuil.
critical
Threshold
Paramètres de seuil pour les alertes critiques.
-
-
L'exemple suivant présente le format de l'entité de message (le contenu du champ
datadans le message d'événement) pour l'événement de point d'extension de mise à jour en bloc des règles de qualité des données.{ "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" } } } } }Le tableau suivant décrit les champs clés.
Field
Type
Description
eventCode
String
Code de l'événement.
projectId
Long
ID de l'espace de travail.
tenantId
Long
ID du locataire.
operator
String
UID de l'utilisateur.
operationTime
Long
Heure de l'opération.
id
Long
ID de la règle.
name
String
Nom de la règle.
enabled
Boolean
Indique si la règle est activée.
true : Activé.
false : Désactivé.
severity
String
Gravité métier de la règle, correspondant aux règles fortes et faibles sur la page.
-
High
-
Normal
description
String
Description de la règle.
templateCode
String
Paramètres de partition pour les tables partitionnées.
samplingConfig
SamplingConfig
Paramètres requis pour la collecte d'échantillons.
metric
String
Nom de la métrique d'échantillonnage.
-
Count : Nombre de lignes de la table
-
Min : Valeur minimale de la colonne
-
Max : Valeur maximale de la colonne
-
Avg : Valeur moyenne de la colonne
-
DistinctCount : Nombre de valeurs distinctes de la colonne
-
DistinctPercent : Ratio des valeurs distinctes de la colonne par rapport au nombre de lignes
-
DuplicatedCount : Nombre de valeurs dupliquées de la colonne
-
DuplicatedPercent : Ratio des valeurs dupliquées de la colonne par rapport au nombre de lignes
-
TableSize : Taille de la table
-
NullValueCount : Nombre de lignes avec des valeurs de colonne nulles
-
NullValuePercent : Pourcentage de valeurs de colonne nulles
-
GroupCount : Nombre de lignes de données pour chaque valeur après agrégation par valeur de colonne
-
CountNotIn : Nombre de lignes ne correspondant pas aux valeurs énumérées
-
CountDistinctNotIn : Nombre de valeurs distinctes ne correspondant pas aux valeurs énumérées
-
UserDefinedSql : Collecte d'échantillons via SQL personnalisé
checkingConfig
CheckingConfig
Paramètres de vérification des échantillons.
type
String
Méthode de calcul du seuil.
-
Fixed
-
Fluctation
-
FluctationDiscreate
-
Auto
-
Average
-
Variance
thresholds
Thresholds
Paramètres de seuil.
expected
Threshold
Paramètres de seuil attendu.
expression
String
Expression de seuil.
critical
Threshold
Paramètres de seuil d'alerte critique.
-
-
L'exemple suivant présente le format du corps du message de l'événement préliminaire de suppression en bloc des règles de qualité des données (le contenu du champ
datadans le message d'événement).{ "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 } }Le tableau suivant décrit les champs clés.
Field name
Field type
Description
projectId
List
ID de l'espace de travail DataWorks.
operator
String
UID de l'opérateur.
operationTime
Long
Heure de l'opération.
ids
List
Liste des ID des règles de qualité des données supprimées.
tenantId
String
ID du locataire.
eventCode
String
Code de l'événement.
-
L'exemple suivant présente le format du corps du message de l'événement préliminaire de mise à jour de la règle de qualité des données (le contenu du champ
datadans le message d'événement).{ "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" } } } } }Le tableau suivant décrit les champs clés.
Field name
Field type
Description
eventCode
String
Code de l'événement.
projectId
Long
ID de l'espace de travail.
tenantId
Long
ID du locataire.
operator
String
UID de l'utilisateur.
operationTime
Long
Heure de l'opération.
id
Long
ID de la règle.
name
String
Nom de la règle.
enabled
Boolean
Indique si la règle est activée.
true : Activé.
false : Désactivé.
severity
String
Niveau de gravité de la règle pour le métier (correspondant aux règles fortes et faibles sur la page).
-
High
-
Normal
description
String
Description de la règle.
templateCode
String
Paramètres de partition de la table partitionnée.
samplingConfig
SamplingConfig
Paramètres requis pour la collecte d'échantillons.
metric
String
Nom de la métrique d'échantillonnage.
-
Count : Nombre de lignes de la table
-
Min : Valeur minimale de la colonne
-
Max : Valeur maximale de la colonne
-
Avg : Valeur moyenne de la colonne
-
DistinctCount : Nombre de valeurs distinctes de la colonne
-
DistinctPercent : Ratio des valeurs distinctes de la colonne par rapport au nombre de lignes de données
-
DuplicatedCount : Nombre de valeurs dupliquées de la colonne
-
DuplicatedPercent : Ratio des valeurs dupliquées de la colonne par rapport au nombre de lignes de données
-
TableSize : Taille de la table
-
NullValueCount : Nombre de lignes où la valeur de la colonne est nulle
-
NullValuePercent : Pourcentage de lignes où la valeur de la colonne est nulle
-
GroupCount : Nombre de lignes de données pour chaque valeur après agrégation par valeur de colonne
-
CountNotIn : Nombre de lignes ne correspondant pas aux valeurs énumérées
-
CountDistinctNotIn : Nombre de valeurs distinctes ne correspondant pas aux valeurs énumérées
-
UserDefinedSql : Collecte d'échantillons via SQL personnalisé
checkingConfig
CheckingConfig
Paramètres de vérification des échantillons.
type
String
Méthode de calcul du seuil.
-
Fixed
-
Fluctation
-
FluctationDiscreate
-
Auto
-
Average
-
Variance
thresholds
Thresholds
Paramètres de seuil.
expected
Threshold
Paramètres de seuil attendu.
expression
String
Expression de seuil.
critical
Threshold
Paramètres de seuil d'alerte critique.
-
Événements préliminaires de surveillance de la qualité des données ( création, mise à jour, clonage et suppression en bloc)
-
L'exemple suivant présente le format de l'entité de message (le contenu du champ
datadans le message d'événement) pour les événements de point d'extension de création et de suppression d'abonnement aux alertes de surveillance Data Quality.{ "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 } }Le tableau suivant décrit les champs clés.
Field
Type
Description
projectId
Long
ID de l'espace de travail DataWorks.
operator
String
UID de l'opérateur.
operationTime
Long
Heure de l'opération.
dataQualityEvaluationTaskId
Long
ID de la tâche de surveillance Data Quality.
channel
String
Type de canal pour l'envoi des messages d'abonnement.
-
Mail - E-mail
-
Sms - SMS
-
Phone - Appel téléphonique
-
Feishu - Feishu
-
Weixin - WeChat
-
Dingding - DingTalk
-
Webhook - Webhook personnalisé
receiverValue
String
Cible spécifique pour l'envoi des messages d'abonnement.
eventCode
String
Code de l'événement.
-
-
L'exemple suivant présente le format de l'entité de message (le contenu du champ
datadans le message d'événement) pour l'événement de point d'extension de mise à jour de la surveillance Data Quality.{ "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 }Le tableau suivant décrit les champs clés.
Field
Type
Description
projectId
Long
ID de l'espace de travail DataWorks.
operator
String
UID de l'opérateur.
operationTime
Long
Heure de l'opération.
dataQualityEvaluationTaskId
Long
ID de la tâche de surveillance Data Quality.
currentChannel
String
Type de canal de la cible du message d'abonnement en cours de mise à jour.
-
Mail - E-mail
-
Sms - SMS
-
Phone - Appel téléphonique
-
Feishu - Feishu
-
Weixin - WeChat
-
Dingding - DingTalk
-
Webhook - Webhook personnalisé
currentReceiverValue
String
Cible spécifique du message d'abonnement en cours de mise à jour.
updatedChannel
String
Type de canal de la cible du message d'abonnement après la mise à jour.
-
Mail - E-mail
-
Sms - SMS
-
Phone - Appel téléphonique
-
Feishu - Feishu
-
Weixin - WeChat
-
Dingding - DingTalk
-
Webhook - Webhook personnalisé
updatedReceiverValue
String
Cible spécifique du message d'abonnement après la mise à jour.
eventCode
String
Code de l'événement.
-
Annexe : Format du message
Format du message pour EventBridge
Après avoir configuré Open Event et ajouté un canal de distribution d'événements, lorsqu'un événement au niveau de l'espace de travail ou au niveau du locataire est déclenché dans DataWorks, l'événement est filtré en fonction du type d'événement (Type) configuré dans EventBridge. Voici le format de message que DataWorks envoie à EventBridge via le canal de distribution d'événements.
{ "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" }Un message d'événement complet comprend le corps du message et des informations de base telles que l'ID du message, la source et l'heure de génération. Le tableau suivant décrit les champs importants.
Field
Type
Description
data
object
Le corps du message. Le format du message et la signification des champs varient selon le type d'événement. Pour plus d'informations, consultez :
Format des messages d'événement Data Studio : Liste des événements Data Studio.
Format des messages d'événement Data Integration : Liste des événements Data Integration.
Format des messages d'événement Operation Center : Liste des événements Operation Center.
Format des messages d'événement Security Center : Liste des événements Security Center.
Format des messages d'événement Data Quality : Liste des événements Data Quality.
id
String
L'ID unique du message d'événement. Ce champ est utilisé pour localiser le message d'événement.
type
String
Le type d'événement. Ce champ décrit le type d'événement lié à la source de l'événement. Exemples :
-
dataworks:FileChange:CommitFile: Indique qu'un fichier est soumis. -
dataworks:FileChange:DeployFile: Indique qu'un fichier est déployé.
Vous pouvez utiliser ce type d'événement pour filtrer tous les messages poussés par DataWorks dans la console EventBridge. La valeur Type varie pour chaque événement. Consultez les sections précédentes pour les différents types de messages d'événement.
Format du message pour Function Compute
Lorsque vous configurez Extensions avec la méthode Function Compute dans DataWorks, DataWorks envoie des messages d'événement au format JSON à Function Compute lorsque l'événement de point d'extension correspondant est déclenché. Voici le format de message envoyé à 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. }Le tableau suivant décrit les champs importants.
Field
Type
Description
messageId
String
L'ID de l'événement. Une valeur unique qui identifie l'événement.
messageBody
Le message d'événement spécifique poussé par DataWorks. Vous pouvez utiliser ce champ lors du développement d'Extensions. Le contenu de ce champ varie selon le type de message.
tenantId
L'ID du locataire. Chaque compte Alibaba Cloud correspond à un locataire dans DataWorks, et chaque locataire possède son propre ID. Vous pouvez consulter cette valeur dans les informations utilisateur situées dans le coin supérieur droit de Data Studio dans DataWorks.
eventCode
Le code de l'événement. Ce champ identifie un type spécifique de message d'événement. Pour le eventCode de chaque type d'événement, consultez la colonne Code d'événement d'extension (eventCode) dans le tableau de la liste des événements.
-