Tous les produits
Search
Centre de documentation

DataWorks:Référence de développement : Liste des événements et format de message

Dernière mise à jour :Aug 27, 2026

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

  • Déployer un nouveau nœud en production

image

image

dataworks:NodeChange:NodeChangeCreated

node-change-created

Mettre à jour le nœud

  • Modifier un nœud dans l'environnement de développement

  • Déployer la modification en production

image

image

dataworks:NodeChange:NodeChangeUpdated

node-change-updated

Modification de fichier

  • Nœud

  • Ressource

  • Fonction

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.

image

image

dataworks:FileChange:DeleteFile

delete-file

Pré-événement pour la soumission de fichier

image

image

dataworks:FileChange:CommitFile

commit-file

Pré-événement pour le déploiement de fichier

image

image

dataworks:FileChange:DeployFile

deploy-file

Pré-événement pour l'exécution du code

image

image

dataworks:FileChange:RunFile

run-file

Modification de table

Pré-événement pour la soumission d'une table au développement

image

image

dataworks:TableChange:CommitTable

commit-table

Pré-événement pour la soumission d'une table à la production

image

image

dataworks:TableChange:DeployTable

deploy-table

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 :

  • 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

Remarque

L'expression cron présente les limites suivantes :

  • L'intervalle de planification minimum 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. Une tâche planifiée normale. La tâche est incluse dans la planification périodique.

  • 1 : MANUAL. Une tâche manuelle. La tâche n'est pas incluse dans la planification périodique.

  • 2 : PAUSE. Une tâche gelée. La tâche est incluse dans la planification périodique, mais est définie sur l'état d'échec au début de la planification.

  • 3 : SKIP. Une tâche de test à blanc. La tâche est incluse dans la planification périodique, mais est définie sur l'état de réussite au début de la planification.

  • 4 : SKIP_UNCHOOSE. Une tâche non sélectionnée dans un workflow temporaire. Ce type existe uniquement dans les workflows temporaires, et la tâche est définie sur l'état de réussite au début de la planification.

  • 5 : SKIP_CYCLE. Une tâche hebdomadaire ou mensuelle dont le cycle de planification n'est pas encore arrivé. La tâche est incluse dans la planification périodique, mais est définie sur l'état de réussite au début de la planification.

  • 6 : CONDITION_UNCHOOSE. L'instance amont contient un nœud de branche (IF), mais ce nœud aval n'est pas sélectionné par le nœud de branche et est directement défini comme une tâche de test à blanc.

  • 7 : REALTIME_DEPRECATED. Une instance planifiée générée en temps réel qui a expiré. Ce type de tâche est directement défini sur l'état de réussite.

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é :

  • 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.

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 data dans 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 data dans 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 data dans 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

    Remarque

    L'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 data dans 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 HH:mm:ss. Valeurs possibles : 00:00:00 à 23:59:59.

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 HH:mm:ss. Valeurs possibles : 00:00:00 à 23:59:59.

isParallel

Boolean

Indique si l'opération de rétroplanning des données peut s'exécuter en parallèle :

  • true : L'opération peut s'exécuter en parallèle.

  • false : L'opération ne peut pas 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 :

  • true : Ignorer l'heure planifiée et exécuter immédiatement les instances futures.

  • false : Ne pas ignorer l'heure planifiée. Les instances futures ne sont pas exécutées immédiatement.

order

String

L'ordre dans lequel les instances de rétroplanning des données sont exécutées en fonction des dates métier :

  • acs : Exécuter dans l'ordre croissant des dates métier.

  • desc : Exécuter dans l'ordre décroissant des dates métier.

multipleTimePeriods

String

Les plages de dates métier sélectionnées par segments. Exemple : [{\"bizBeginTime\":\"2022-04-17\",\"bizEndTime\":\"2022-04-17\"}].

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 DagId pour obtenir les détails du DAG.

dagType

Integer

Le type de DAG. Valeurs possibles :

  • 0 : Tâche planifiée

  • 1 : Tâche manuelle

  • 2 : Test de fumée

  • 3 : Rétroplanning des données

  • 4 : Workflow temporaire

  • 5 : Workflow manuel

taskType

Integer

Le type de planification de l'instance de tâche. Valeurs possibles :

  • 0 : NORMAL. Une tâche planifiée normale. Cette tâche est planifiée quotidiennement.

  • 1 : MANUAL. Une tâche manuelle. Cette tâche n'est pas planifiée quotidiennement.

  • 2 : PAUSE. Une tâche gelée. Cette tâche est planifiée quotidiennement, mais son état est immédiatement défini sur Échec au début de la planification.

  • 3 : SKIP. Une tâche de test à blanc. Cette tâche est planifiée quotidiennement, mais son état est immédiatement défini sur Succès au début de la planification.

  • 4 : SKIP_UNCHOOSE. Une tâche non sélectionnée dans un workflow temporaire. Cette tâche existe uniquement dans les workflows temporaires et son état est immédiatement défini sur Succès au début de la planification.

  • 5 : SKIP_CYCLE. Une tâche hebdomadaire ou mensuelle qui n'a pas atteint son cycle d'exécution. Cette tâche est planifiée quotidiennement, mais son état est immédiatement défini sur Succès au début de la planification.

  • 6 : CONDITION_UNCHOOSE. Une instance en amont contient un nœud de branche (IF), mais ce nœud en aval n'est pas sélectionné par le nœud de branche et est directement défini comme une tâche de test à blanc.

  • 7 : REALTIME_DEPRECATED. Une instance planifiée générée en temps réel qui a expiré. Ce type de tâche est directement défini sur Succès.

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.

  • Instance de tâche planifiée : L'ID du workflow est par défaut 1.

  • Workflow manuel et instance de tâche de workflow interne : L'ID réel 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 :

  • 1 : Non en cours d'exécution.

  • 2 : En attente que l'heure planifiée dueTime ou cycleTime arrive.

  • 3 : En attente de ressources.

  • 4 : En cours d'exécution.

  • 7 : Envoyé à Data Quality pour la vérification des données.

  • 8 : Vérification des conditions de branche en cours.

  • 5 : Échec.

  • 6 : Succès.

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.

  • PROD : Environnement de production.

  • DEV : Environnement de développement.

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

Important

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

  • Déployer l'opération de suppression pour retirer le déploiement du nœud de production

  • Supprimer un nœud de la corbeille

image

image

dataworks:NodeChange:NodeChangeDeleted

node-change-deleted

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.

image

image

dataworks:NodeChange:UndeployNode

undeploy-node

Pré-événement pour le gel de nœud

Important

Cet événement déclenche également l'événement node-change-updated.

image

image

dataworks:NodeChange:FreezeNode

freeze-node

Pré-événement pour le dégel de nœud

Important

Cet événement déclenche également l'événement node-change-updated.

image

image

dataworks:NodeChange:UnFreezeNode

unfreeze-node

Rétroplanning des données de nœud

Pré-événement pour le rétroplanning des données

image

image

dataworks:BackfillDataOperate:BackfillData

backfill-data

Changement d'état de tâche

Changement d'état de tâche planifiée

image

image

dataworks:InstanceStatusChanges:InstanceStatusChanges

instance-status-changes

Modifications d'instance

Geler l'instance

image

image

dataworks:InstanceChange:FreezeInstance

freeze-instance

Dégeler l'instance

image

image

dataworks:InstanceChange:UnfreezeInstance

unfreeze-instance

Arrêter l'instance

image

image

dataworks:InstanceChange:KillInstance

kill-instance

Réexécuter l'instance

  • Réexécuter

  • Réexécuter en aval

image

image

dataworks:InstanceChange:RerunInstance

rerun-instance

Définir l'instance sur succès

image

image

dataworks:InstanceChange:SetInstanceSuccess

set-instance-success

Supprimer les dépendances en amont spécifiées d'une instance

image

image

dataworks:InstanceChange:DeleteTaskInstanceDependencies

delete-task-instance-dependencies

Pré-événement pour le gel d'une instance

image

image

dataworks:InstanceChange:PreFreezeInstance

pre-freeze-instance

Pré-événement pour le dégel d'une instance

image

image

dataworks:InstanceChange:PreUnfreezeInstance

pre-unfreeze-instance

Pré-événement pour la réexécution d'une instance

image

image

dataworks:InstanceChange:PreRerunInstance

pre-rerun-instance

Pré-événement pour la définition d'une instance sur succès

image

image

dataworks:InstanceChange:PreSetInstanceSuccess

pre-set-instance-success

Pré-événement pour l'arrêt d'une instance

image

image

dataworks:InstanceChange:PreKillInstance

pre-kill-instance

Supprimer les instances expirées

image

image

dataworks:InstanceChange:ExpiredTaskInstancesDeleted

expired-task-instances-deleted

Changements d'état de workflow

Changements d'état de workflow

  • Instances de rétroplanning des données

  • Workflows manuels

image

image

dataworks:DagStatusChanges:DagStatusChanges

dag-status-changes

Alertes de surveillance

Alertes de surveillance

image

image

dataworks:MonitorAlert:WorkbenchMonitorAlert

workbench-monitor-alert

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.

  • true : Bloquer.

  • false : Ne pas bloquer.

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 : yyyy-mm-dd hh24:mi:ss.

createTime

String

L'heure de création du workflow. Format : yyyy-mm-dd hh24:mi:ss.

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 :

  • 0 : Tâche planifiée.

  • 1 : Tâche manuelle.

  • 2 : Test de fumée.

  • 3 : Rétroplanning des données.

  • 4 : Workflow temporaire.

  • 5 : Workflow manuel.

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 :

  • DEV : Environnement de développement.

  • PROD : Environnement de production.

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 :

  • 1 : Non en cours d'exécution.

  • 4 : En cours d'exécution.

  • 5 : Échec.

  • 6 : Succès.

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 data dans 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 1 pour 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 data dans 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 data dans le message).

    Remarque

    En 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.

    ### **Liste des événements Security Center** #### Liste des événements

    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

    Le 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

    image

    image

    dataworks:ApprovalChange:ApprovalChangeCreated

    approval-change-created

    Terminer le processus de demande d'autorisation V1

    image

    image

    dataworks:ApprovalChange:ApprovalChangeFinished

    approval-change-finished

    Centre d'approbation

    (V2)

    Créer un processus de demande d'autorisation V2

    image

    image

    dataworks:ApprovalChange:ApprovalChangeCreatedV2

    approval-change-created-v2

    Terminer le processus de demande d'autorisation V2

    image

    image

    dataworks:ApprovalChange:ApprovalChangeFinishedV2

    approval-change-finished-v2

    Security Center (demande d'autorisation V1)

    Créer un pré-événement pour le formulaire de demande d'autorisation V1

    image

    image

    dataworks:ApprovalChange:ApprovalChangeBeforeCreate

    approval-change-before-create

    Security Center (demande d'autorisation V2)

    Créer un pré-événement pour le formulaire de demande d'autorisation V2

    image

    image

    dataworks:ApprovalChange:ApprovalChangeBeforeCreateV2

    approval-change-before-create-v2

    Format 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 data dans 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 data dans 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 champ process.approvalContent des événements V2 utilise la structure native ApplicationContent et identifie les types de ressources via resource.defSchema et resource.defVersion.

    Remarque

    Un é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-v2 pour les événements de création ; valeur fixe approval-change-finished-v2 pour 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 Pending pour les événements de création ; défini sur Completed pour les événements de fin.

      approvalAction

      String

      L'action d'approbation. Renvoyée sous la forme Agree (approuvé) ou Deny (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ôt arrayData[].resource.defSchema.

      process.approvalContent

      Object

      Le contenu de la demande d'approbation.

      process.approvalContent.arrayData

      Array

      La liste native ApplicationContentDTO du 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, defVersion et metaData.

      arrayData[].grantee

      Object

      Le principal autorisé, contenant principalType et principalId.

      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 à accessTypes au 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_APPROVAL pour les événements de création ; généralement CONFIRMED pour les événements de fin approuvés.

      arrayData[].operation

      String

      La direction de l'opération d'autorisation. Généralement Grant pour 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 Completed pour les événements de fin. Remarque : Completed indique 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é) ou Deny (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 CONFIRMED après approbation ; défini sur REJECT_APPROVAL aprè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 data dans 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 V2 data.order est un objet natif ApplicationForm qui prend en charge tous les types de ressources actuels via defSchema et identifie les types de ressources via resource.defSchema et resource.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 de defSchema. 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 defSchema et defVersion. 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.

    Remarque

    Dans les événements de pré-vérification, applicationContents[] n'a pas été persisté. Par conséquent, contentId, processInstanceId, resourceIndex, finalAccessTypes, status, createTime et updateTime n'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-create

    approval-change-before-create-v2

    Le corps du message data.order migre d'une structure personnalisée vers le formulaire natif ApplicationForm du Security Center. Les types de ressources sont identifiés via resource.defSchema + resource.defVersion.

    approval-change-created

    approval-change-created-v2

    process.approvalContent migre de la structure personnalisée arrayData vers ApplicationContentDTO. Les informations sur les ressources sont identifiées via resource.defSchema.

    approval-change-finished

    approval-change-finished-v2

    Identique à 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 eventCode diffé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 leur eventCode afin 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.defVersion comme source de référence. Autorisez les champs inconnus dans resource.metaData. Mettez en œuvre une analyse compatible (ignorez les valeurs defSchema inconnues au lieu de lever des exceptions).

    • Sélection de la clé de corrélation : Utilisez processId comme clé de corrélation de la requête et contentId comme 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 arrayData au message d'événement envoyé à EventBridge. Lorsque le type assignmentCategory est MaxCompute, le contenu de arrayData est 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 arrayData au message d'événement envoyé à EventBridge. Lorsque le type assignmentCategory est DataService, le contenu de arrayData est 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

    image

    image

    dataworks:ProjectChange:DeleteProject

    delete-project

    Événement post-suppression d'un espace de travail

    image

    image

    dataworks:ProjectChange:ProjectDeleted

    project-deleted

    Format 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 data dans 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 data dans 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

    image

    image

    dataworks:ResourcesDownload:DownloadResources

    download-resources

    Pré-événement pour le téléchargement de données - téléchargement de fichier

    image

    image

    dataworks:ResourcesDownload:DownloadResourcesExecute

    download-resources-execute

    Pré-événement pour le chargement de données

    image

    image

    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 data dans 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 data dans 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 data dans 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 data dans 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 data dans 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

    image

    image

    dataworks:DqcCheck:DqcCheckFeedbackEvent

    dqc-check-feedback-event

    Contrô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)

    image

    image

    dataworks:DqcCheck:DqcCheckFinishedEvent

    dqc-check-finished-event

    Pré-é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

    image

    image

    dataworks:DqcCheck:BatchCreateDataQualityRules

    batch-create-data-quality-rules

    Pré-événement de mise à jour par lot de règles de qualité des données

    image

    image

    dataworks:DqcCheck:BatchUpdateDataQualityRules

    batch-update-data-quality-rules

    Pré-événement de suppression par lot de règles de qualité des données

    image

    image

    dataworks:DqcCheck:BatchDeleteDataQualityRules

    batch-delete-data-quality-rules

    Pré-événement de mise à jour de règle de qualité des données

    image

    image

    dataworks:DqcCheck:UpdateDataQualityRule

    update-data-quality-rule

    Pré-événement de surveillance de la qualité des données

    Pré-événement de création de surveillance de la qualité des données

    image

    image

    dataworks:DqcCheck:CreateDataQualityEvaluationTask

    create-data-quality-evaluation-task

    Pré-événement de mise à jour de la surveillance de la qualité des données

    image

    image

    dataworks:DqcCheck:UpdateDataQualityEvaluationTask

    update-data-quality-evaluation-task

    Pré-événement de clonage de la surveillance de la qualité des données

    image

    image

    dataworks:DqcCheck:CloneDataQualityEvaluationTask

    clone-data-quality-evaluation-task

    Pré-événement de suppression par lot de la surveillance de la qualité des données

    image

    image

    dataworks:DqcCheck:BatchDeleteDataQualityEvaluationTasks

    batch-delete-data-quality-evaluation-tasks

    Pré-é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

    image

    image

    dataworks:DqcCheck:CreateDataQualityEvaluationTaskNotification

    create-data-quality-evaluation-task-notification

    Pré-événement de mise à jour de l'abonnement aux alertes de surveillance de la qualité des données

    image

    image

    dataworks:DqcCheck:UpdateDataQualityEvaluationTaskNotification

    update-data-quality-evaluation-task-notification

    Pré-événement de suppression de l'abonnement aux alertes de surveillance de la qualité des données

    image

    image

    dataworks:DqcCheck:DeleteDataQualityEvaluationTaskNotification

    delete-data-quality-evaluation-task-notification

    Format 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 data dans 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 data dans 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 data dans 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 data dans 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 data dans 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 data dans 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 data dans 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 data dans 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 data dans 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.