Todos os produtos
Search
Central de documentação

DataWorks:Referência de desenvolvimento: lista de eventos e formato de mensagem

Última atualização: Aug 27, 2026

Este tópico descreve os tipos de eventos do DataWorks, os formatos de mensagem e o significado dos campos. Utilize este documento para localizar e consultar rapidamente informações sobre a lista de eventos e seus respectivos formatos.

Introdução

No DataWorks, os eventos são classificados como eventos padrão ou eventos de ponto de extensão. Essa classificação depende da capacidade do evento de criar um checkpoint no DataWorks e de retornar resultados de processamento após a assinatura por um service autogerenciado.

  • Eventos padrão: É possível assinar essas mensagens de evento, mas elas não bloqueiam operações internas do DataWorks. Assine esses eventos por meio do OpenEvent. Para mais informações, consulte Open Events Overview.

  • Eventos de ponto de extensão: Após assinar essas mensagens, você pode personalizar a resposta utilizando o recurso Extensions na DataWorks Open Platform. Ao usar Extensions para gerenciar operações em um ponto de extensão, a ação executada pelo usuário da plataforma nesse ponto é interrompida até que sua extensão personalizada retorne um resultado de processamento.

Esta lista categoriza os eventos suportados por módulo e indica se cada um é um evento padrão ou um evento de ponto de extensão. Também são listados o tipo de evento do EventBridge (Type) e o código do evento de extensão (eventCode).

  • Tipo de evento do EventBridge (Type): Campo utilizado para filtrar mensagens de evento. Para detalhes, consulte Enable message subscription.

  • Código do evento de extensão (eventCode): Código correspondente ao tipo de evento. Durante o desenvolvimento local, obtenha esse código no conteúdo da mensagem enviada pelo DataWorks para identificar o tipo de evento alvo.

Eventos no nível do workspace

Os eventos gerados por módulos no nível do workspace são denominados eventos no nível do workspace, como execuções de nós no Data Studio ou alterações de status de instâncias agendadas no Operation Center. Utilize a lista de eventos abaixo para identificar quais são eventos padrão e quais são eventos de ponto de extensão, bem como seus formatos de mensagem.

As abas de formato de mensagem a seguir contêm apenas conteúdo parcial. Para visualizar as mensagens completas enviadas ao EventBridge ou Function Compute, consulte Appendix: Message Format.

Lista de eventos do Data Studio

Lista de eventos

Tipo de evento

Evento (e operação de gatilho)

Evento padrão

Evento de ponto de extensão

Tipo de evento do EventBridge (Type)

Código do evento de extensão (eventCode)

Alteração de nó

Criar nó

  • Implantar um novo nó em produção

image

image

dataworks:NodeChange:NodeChangeCreated

node-change-created

Atualizar nó

  • Modificar um nó no ambiente de desenvolvimento

  • Implantar a modificação em produção

image

image

dataworks:NodeChange:NodeChangeUpdated

node-change-updated

Alteração de arquivo

  • Nó

  • Recurso

  • Função

Pré-evento para exclusão de arquivo

Excluir um nó no ambiente de desenvolvimento

Nota

Arquivos excluídos são movidos para a lixeira.

image

image

dataworks:FileChange:DeleteFile

delete-file

Pré-evento para envio de arquivo

image

image

dataworks:FileChange:CommitFile

commit-file

Pré-evento para implantação de arquivo

image

image

dataworks:FileChange:DeployFile

deploy-file

Pré-evento para execução de código

image

image

dataworks:FileChange:RunFile

run-file

Alteração de tabela

Pré-evento para envio de tabela ao desenvolvimento

image

image

dataworks:TableChange:CommitTable

commit-table

Pré-evento para envio de tabela à produção

image

image

dataworks:TableChange:DeployTable

deploy-table

Formato da mensagem

Eventos de alteração de nó (criação e atualização)

O exemplo a seguir apresenta o formato do corpo da mensagem (conteúdo do campo data na mensagem de evento) para eventos de criação, modificação e exclusão de nós.

{
  "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
  }
}

Os campos são descritos da seguinte forma:

Campo

Tipo

Descrição

nodeName

String

Nome do nó.

programType

String

Tipo de código do arquivo. Chame a operação ListFileType para consultar o tipo de código ou consulte File code types para visualizar os tipos disponíveis.

cronExpress

String

Expressão cron para agendamento periódico.

Este parâmetro corresponde a de uma tarefa do Data Studio no DataWorks console.

Após configurar o agendamento e o horário agendado, o DataWorks gera automaticamente a expressão cron correspondente. Exemplos:

  • Agendado para 05:30 todos os dias: 00 30 05 ?

  • Agendado para o minuto 15 de cada hora: 00 15 * ?

  • Agendado a cada 10 minutos: 00 00/10 * ?

  • Agendado a cada 10 minutos, das 08:00 às 17:00, diariamente: 00 00-59/10 8-17 * ?

  • Agendado para 00:20 no dia 1º de cada mês: 00 20 00 1 * ?

  • Agendado a cada 3 meses, iniciando em 1º de janeiro às 00:10: 00 10 00 1 1-12/3 ?

  • Agendado para 00:05 toda terça e sexta-feira: 00 05 00 2,5

Nota

A expressão cron possui os seguintes limites:

  • O intervalo mínimo de agendamento é de 5 minutos.

  • O horário mais cedo para agendamento diário é 00:05.

schedulerType

String

Tipo de agendamento da instância da tarefa. Valores válidos:

  • 0: NORMAL. Tarefa agendada comum, incluída no agendamento periódico.

  • 1: MANUAL. Tarefa manual, não incluída no agendamento periódico.

  • 2: PAUSE. Tarefa congelada. Incluída no agendamento periódico, mas definida com status de falha ao iniciar.

  • 3: SKIP. Tarefa de simulação (dry-run). Incluída no agendamento periódico, mas definida com status de sucesso ao iniciar.

  • 4: SKIP_UNCHOOSE. Tarefa não selecionada em um workflow temporário. Existe apenas em workflows temporários e assume status de sucesso ao iniciar o agendamento.

  • 5: SKIP_CYCLE. Tarefa semanal ou mensal cujo ciclo de agendamento ainda não chegou. Incluída no agendamento periódico, mas definida com status de sucesso ao iniciar.

  • 6: CONDITION_UNCHOOSE. A instância upstream contém um nó de ramificação (IF), mas este nó downstream não foi selecionado pela ramificação, sendo definido diretamente como tarefa de simulação.

  • 7: REALTIME_DEPRECATED. Instância agendada gerada em tempo real que expirou. Este tipo de tarefa é definido diretamente com status de sucesso.

ownerId

String

ID de usuário Alibaba Cloud do proprietário do nó. Se este parâmetro estiver vazio, o ID de usuário Alibaba Cloud do chamador será usado por padrão.

priority

Integer

Prioridade da tarefa. Valores válidos: 1, 3, 5, 7 e 8. Um valor maior indica prioridade mais alta.

baselineId

Long

ID da baseline.

repeatability

Boolean

Indica se o nó pode ser reexecutado:

  • true: O nó pode ser reexecutado.

  • false: O nó não pode ser reexecutado.

modifyTime

Long

Horário da última modificação do nó.

createTime

Long

Horário de criação do nó.

nodeId

Long

ID do nó.

projectId

Long

ID do workspace ao qual o nó pertence.

tenantId

Long

ID do tenant ao qual o nó pertence.

operator

String

UID do usuário que criou, modificou ou excluiu o nó.

eventCode

String

Código do evento de extensão.

Eventos de alteração de arquivo (envio, implantação, execução e exclusão)

  • O exemplo abaixo ilustra o formato do corpo da mensagem (conteúdo do campo data na mensagem de evento) para eventos de envio e implantação de arquivos.

    {
      "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
      }
    }

    Os campos são descritos da seguinte forma:

    Campo

    Tipo

    Descrição

    operator

    String

    UID do usuário que enviou ou implantou o arquivo.

    projectId

    Long

    ID do workspace ao qual o arquivo pertence.

    tenantId

    Long

    ID do tenant.

    nodeId

    Long

    ID do nó de agendamento.

    fileType

    Long

    Tipo de código do arquivo. Chame a operação ListFileType para consultar o tipo de código ou consulte File code types para visualizar os tipos disponíveis.

    fileName

    String

    Nome do arquivo.

    fileOwner

    String

    Proprietário do arquivo.

    extensionBizId

    String

    ID do processo de checkpoint da extensão.

    changeType

    String

    Tipo de alteração do arquivo:

    • 0: Criar um arquivo.

    • 1: Atualizar um arquivo.

    • 2: Excluir um arquivo.

    fileCreateTime

    String

    Horário de criação do arquivo, no formato yyyy-MM-dd HH:mm:ss.

    fileId

    Long

    ID do arquivo.

    fileVersion

    Long

    Versão do arquivo.

    dataSourceName

    String

    Nome da source de dados.

    eventCode

    String

    Código do evento de extensão.

  • O exemplo a seguir exibe o formato do corpo da mensagem (conteúdo do campo data na mensagem de evento) para eventos de exclusão e execução de arquivos.

    {
      "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
      }
    }

    Os campos são descritos da seguinte forma:

    Campo

    Tipo

    Descrição

    operator

    String

    UID do usuário que excluiu ou executou o arquivo.

    projectId

    Long

    ID do workspace ao qual o arquivo pertence.

    tenantId

    Long

    ID do tenant.

    nodeId

    Long

    ID do nó de agendamento.

    fileType

    Long

    Tipo de código do arquivo. Chame a operação ListFileType para consultar os tipos de código ou consulte File code types para obter detalhes.

    fileName

    String

    Nome do arquivo.

    fileOwner

    String

    Proprietário do arquivo.

    extensionBizId

    String

    ID do processo de checkpoint do Extensions.

    fileCreateTime

    String

    Horário de criação do arquivo, no formato yyyy-MM-dd HH:mm:ss.

    fileId

    Long

    ID do arquivo.

    eventCode

    String

    Código do evento do Extensions.

Eventos de alteração de tabela (envio de tabela ao ambiente de desenvolvimento ou implantação no ambiente de produção)

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "operator": "**************",
    "projectId": 12*****56,
    "tenantId": 12******56,
    "extensionBizId": "12***56",
    "tableName":"table1",
    "tableType":"ODPS",  
    "maxComputeProject":"project1"
  }
}

A tabela a seguir descreve os campos:

Campo

Tipo

Descrição

operator

String

UID do usuário que enviou ou implantou a tabela.

projectId

Long

ID do workspace.

tenantId

Long

ID do tenant.

extensionBizId

String

ID do processo de checkpoint do Extensions.

tableName

String

Nome da tabela.

tableType

String

Tipo da tabela. O valor é ODPS.

maxComputeProject

String

Nome do projeto MaxCompute correspondente.

Lista de eventos do Data Integration

Lista de eventos

Tipo de evento

Evento (e operação de acionamento)

Evento padrão

Evento de ponto de extensão

Tipo de evento do EventBridge

(Tipo)

Código do evento de extensão (eventCode)

Evento de alteração de nó

Iniciar uma tarefa

image

image

dataworks:NodeChange:StartDiJob

start-diJob

Início em lote de tarefas

image

image

dataworks:NodeChange:BatchStartDiJob

batch-start-diJob

Formato da mensagem

Evento de alteração de nó- Iniciar uma tarefa

O exemplo a seguir apresenta o formato do corpo da mensagem para o evento de alteração de nó - evento de início de tarefa (conteúdo do campo data na mensagem do evento).

## message v1 task started with no more than 500 tables
{
    "datacontenttype": "application/json;charset=utf-8",
    "data": {
        "eventCode": "start-diJob",
        "extensionBizId": "0a4***b8ae",
        "extensionBizName": "sync_mysql_to_odps_20240726_192307",
        "appId": 293624,
        "showTableMapping": true,
        "tenantId": 28***656,
        "blockBusiness": true,
        "id": 5280,
        "projectId": 9***4,
        "tableMapping": [
            {
                "srcTable": "xb_test_116",
                "dstDatasourceName": "odps_first",
                "srcDatabaseName": "xiaobo_sharding_79fz",
                "srcDatasourceName": "mysql_3357_pub_ip_1",
                "dstTable": "ods_xb_test_116"
            },
            {
                "srcTable": "xb_test_117",
                "dstDatasourceName": "odps_first",
                "srcDatabaseName": "xiaobo_sharding_79fz",
                "srcDatasourceName": "mysql_3357_pub_ip_1",
                "dstTable": "ods_xb_test_117"
            },
            {
                "srcTable": "xb_test_118",
                "dstDatasourceName": "odps_first",
                "srcDatabaseName": "xiaobo_sharding_79fz",
                "srcDatasourceName": "mysql_3357_pub_ip_1",
                "dstTable": "ods_xb_test_118"
            },
            {
                "srcTable": "xb_test_135",
                "dstDatasourceName": "odps_first",
                "srcDatabaseName": "xiaobo_sharding_79fz",
                "srcDatasourceName": "mysql_3357_pub_ip_1",
                "dstTable": "ods_xb_test_135"
            }
        ],
        "operator": "1504650005316516"
    }
}

## message v2 task started with no more than 500 tables
{
    "datacontenttype": "application/json;charset=utf-8",
    "data": {
        "extensionBizId": "59d***50fc",
        "extensionBizName": "sync_mysql_to_holo_20240911_170801",
        "blockBusiness": true,
        "operator": "19***735",
        "setting": {
            "lastStartPosition": "2024-09-11 12:00:00"
        },
        "eventCode": "start-diJob",
        "jobId": 5777,
        "forceRun": false,
        "appId": 293624,
        "showTableMapping": true,
        "tenantId": 28***656,
        "startAsV2": false,
        "tableMapping": [
            {
                "srcTable": "test_verify1",
                "dstDatasourceName": "molin_db",
                "srcDatabaseName": "di_test",
                "srcDatasourceName": "mysql_public",
                "dstTable": "test_verify1"
            },
            {
                "srcTable": "test_verify1_dst",
                "dstDatasourceName": "molin_db",
                "srcDatabaseName": "di_test",
                "srcDatasourceName": "mysql_public",
                "dstTable": "test_verify1_dst"
            },
            {
                "srcTable": "mysql_0_timetest2",
                "dstDatasourceName": "molin_db",
                "srcDatabaseName": "di_test",
                "srcDatasourceName": "mysql_public",
                "dstTable": "mysql_0_timetest2"
            }
        ]
    }
}

##message v2 task started with more than 500 tables, "showTableMapping": false
{
    "datacontenttype": "application/json;charset=utf-8",
    "data": {
        "eventCode": "start-diJob",
        "jobId": 5502,
        "forceRun": false,
        "extensionBizId": "f4c***7cbc",
        "extensionBizName": "sync_mysql_to_holo_20240412_213634",
        "appId": 330914,
        "showTableMapping": false,
        "tenantId": 28***656,
        "blockBusiness": true,
        "startAsV2": false,
        "operator": "19***735",
        "setting": {
            "lastStartPosition": "2024-04-12 22:07:02",
            "startDateTime": "2024-09-10 17:00:00",
            "timeZone": "Asia/Shanghai"
        }
    }
}

##Regex
{
    "datacontenttype": "application/json;charset=utf-8",
    "data": {
        "eventCode": "start-diJob",
        "jobId": 5778,
        "forceRun": false,
        "extensionBizId": "a5d***75ba",
        "extensionBizName": "sync_mysql_to_holo_20240912_170517",
        "appId": 293624,
        "showTableMapping": true,
        "tenantId": 28***656,
        "blockBusiness": true,
        "startAsV2": false,
        "tableMapping": [
            {
                "srcTable": "test.*",
                "dstDatasourceName": "molin_db",
                "srcDatabaseName": ".*",
                "srcDatasourceName": "mysql_public",
                "dstTable": "aaa"
            },
            {
                "srcTable": "shard.*",
                "dstDatasourceName": "molin_db",
                "srcDatabaseName": ".*",
                "srcDatasourceName": "mysql_public",
                "dstTable": "vvv"
            }
        ],
        "operator": "19***735"
    }
}

A tabela a seguir descreve os campos:

Campo

Tipo

Descrição

projectId

Long

ID do workspace do DataWorks.

operator

String

UID do operador.

extensionBizName

String

Nome da solução.

showTableMapping

Boolean

Indica se as informações de mapeamento de tabelas são retornadas.

  • true: Retornado.

  • false: Não retornado.

Se o número de tabelas exceder 500, showTableMapping assumirá o valor padrão false.

tableMapping

JSONArray

Mapeamento de tabelas.

srcDatasourceName

String

Nome da source de dados de origem.

srcDatabaseName

String

Nome do banco de dados de origem.

srcTable

String

Nome da tabela de origem.

dstDatasourceName

String

Nome da source de dados de destino.

dstTable

String

Nome da tabela de destino.

tenantId

Long

ID do tenant.

eventCode

String

Código do evento de Extensions.

Evento de alteração de nó- Início em lote de tarefas

O exemplo a seguir apresenta o formato do corpo da mensagem para o evento de alteração de nó - evento de início em lote de tarefas (conteúdo do campo data na mensagem do evento).

{
    "datacontenttype": "application/json;charset=utf-8",
    "data": {
        "needErrorMessage": false,
        "extensionBizId": "2de***c4c6",
        "extensionBizName": "sync_mysql_to_holo_20240911_170801,sync_mysql_to_odps_20240726_192307",
        "errorMessageOnlyFailedFileIds": false,
        "blockBusiness": true,
        "env": "prod",
        "operator": "15***516",
        "setting": {
            "startDateTime": "2024-09-12 14:00:00",
            "timeZone": "Asia/Shanghai"
        },
        "jobIds": [
            5777,
            5679
        ],
        "eventCode": "batch-start-diJob",
        "tableMappings": [
            {
                "extensionBizName": "sync_mysql_to_holo_20240911_170801",
                "id": 5777,
                "tableMapping": [
                    {
                        "srcTable": "test_verify1",
                        "dstDatasourceName": "molin_db",
                        "srcDatabaseName": "di_test",
                        "srcDatasourceName": "mysql_public",
                        "dstTable": "test_verify1"
                    },
                    {
                        "srcTable": "test_verify1_dst",
                        "dstDatasourceName": "molin_db",
                        "srcDatabaseName": "di_test",
                        "srcDatasourceName": "mysql_public",
                        "dstTable": "test_verify1_dst"
                    },
                    {
                        "srcTable": "mysql_0_timetest2",
                        "dstDatasourceName": "molin_db",
                        "srcDatabaseName": "di_test",
                        "srcDatasourceName": "mysql_public",
                        "dstTable": "mysql_0_timetest2"
                    }
                ]
            },
            {
                "extensionBizName": "sync_mysql_to_odps_20240726_192307",
                "id": 5679,
                "tableMapping": [
                    {
                        "srcTable": "xb_test_116",
                        "dstDatasourceName": "odps_first",
                        "srcDatabaseName": "xiaobo_sharding_79fz",
                        "srcDatasourceName": "mysql_3357_pub_ip_1",
                        "dstTable": "ods_xb_test_116"
                    },
                    {
                        "srcTable": "xb_test_117",
                        "dstDatasourceName": "odps_first",
                        "srcDatabaseName": "xiaobo_sharding_79fz",
                        "srcDatasourceName": "mysql_3357_pub_ip_1",
                        "dstTable": "ods_xb_test_117"
                    },
                    {
                        "srcTable": "xb_test_118",
                        "dstDatasourceName": "odps_first",
                        "srcDatabaseName": "xiaobo_sharding_79fz",
                        "srcDatasourceName": "mysql_3357_pub_ip_1",
                        "dstTable": "ods_xb_test_118"
                    },
                    {
                        "srcTable": "xb_test_135",
                        "dstDatasourceName": "odps_first",
                        "srcDatabaseName": "xiaobo_sharding_79fz",
                        "srcDatasourceName": "mysql_3357_pub_ip_1",
                        "dstTable": "ods_xb_test_135"
                    }
                ]
            }
        ],
        "appId": 293624,
        "showTableMapping": true,
        "tenantId": 52***018,
        "projectId": 9***4
    }
}

A tabela a seguir descreve os campos:

Campo

Tipo

Descrição

projectId

Long

ID do workspace do DataWorks.

operator

String

UID do operador.

extensionBizName

String

Nome da solução.

setting

JSONObject

Configuração de inicialização.

startDateTime

String

Horário de início.

timeZone

String

Fuso horário de início.

tableMapping

JSONArray

Mapeamento de tabelas.

srcDatasourceName

String

Nome da source de dados de origem.

srcDatabaseName

String

Nome do banco de dados de origem.

srcTable

String

Nome da tabela de origem.

dstDatasourceName

String

Nome da source de dados de destino.

dstTable

String

Nome da tabela de destino.

showTableMapping

Boolean

Indica se as informações de mapeamento de tabelas são retornadas.

  • true: Retornado.

  • false: Não retornado.

Se o número de tabelas exceder 500, showTableMapping assumirá o valor padrão false.

tenantId

Long

ID do tenant.

eventCode

String

Código do evento de Extensions.

Lista de eventos do Operation Center

Lista de eventos

Instruções

  1. Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado

  2. Escreva o texto em português do Brasil DO ZERO — esqueça a estrutura das frases em inglês

  3. Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão

  4. Copie os placeholders de xref ({XREF_N}) literalmente, sem traduzi-los ou modificá-los

  5. Aplique todas as regras específicas do idioma com rigor

  6. Siga as regras de stopwords com tolerância zero

  7. Utilize o modo imperativo em passos numerados e listas de procedimentos

  8. Garanta a consistência terminológica — o mesmo termo deve ter a mesma tradução em todo o documento

  9. Varie os inícios de frase em listas e tabelas — nenhum início deve se repetir 3 ou mais vezes

  10. Retorne APENAS o documento markdown em português do Brasil, sem explicações

    Importante

    A modificação do grupo de recursos de agendamento ou a alteração do proprietário aciona o evento node-change-updated.

    Tipo de evento

    Evento (e operação de gatilho)

    Evento padrão

    Evento de ponto de extensão

    Tipo de evento do EventBridge

    (Tipo)

    Código do evento de extensão (eventCode)

    Alteração de nó

    Exclusão de um nó

    • Implante a operação de exclusão para remover o nó de produção

    • Exclua um nó da lixeira

    image

    image

    dataworks:NodeChange:NodeChangeDeleted

    node-change-deleted

    Pré-evento para remoção de nó

    Remove diretamente um nó das tarefas agendadas no ambiente de produção

    Nota

    Esta operação também exclui o nó no Data Studio e o move para a lixeira.

    image

    image

    dataworks:NodeChange:UndeployNode

    undeploy-node

    Pré-evento para congelamento de nó

    Importante

    Este evento também aciona o evento node-change-updated.

    image

    image

    dataworks:NodeChange:FreezeNode

    freeze-node

    Pré-evento para descongelamento de nó

    Importante

    Este evento também aciona o evento node-change-updated.

    image

    image

    dataworks:NodeChange:UnFreezeNode

    unfreeze-node

    Dados de backfill de nó

    Pré-evento para dados de backfill

    image

    image

    dataworks:BackfillDataOperate:BackfillData

    backfill-data

    Alteração de status da tarefa

    Alteração de status de tarefa agendada

    image

    image

    dataworks:InstanceStatusChanges:InstanceStatusChanges

    instance-status-changes

    Alterações de instância

    Congelar instância

    image

    image

    dataworks:InstanceChange:FreezeInstance

    freeze-instance

    Descongelar instância

    image

    image

    dataworks:InstanceChange:UnfreezeInstance

    unfreeze-instance

    Encerrar instância

    image

    image

    dataworks:InstanceChange:KillInstance

    kill-instance

    Reexecutar instância

    • Reexecutar

    • Reexecutar downstream

    image

    image

    dataworks:InstanceChange:RerunInstance

    rerun-instance

    Definir instância como bem-sucedida

    image

    image

    dataworks:InstanceChange:SetInstanceSuccess

    set-instance-success

    Remover dependências upstream especificadas de uma instância

    image

    image

    dataworks:InstanceChange:DeleteTaskInstanceDependencies

    delete-task-instance-dependencies

    Pré-evento para congelamento de instância

    image

    image

    dataworks:InstanceChange:PreFreezeInstance

    pre-freeze-instance

    Pré-evento para descongelamento de instância

    image

    image

    dataworks:InstanceChange:PreUnfreezeInstance

    pre-unfreeze-instance

    Pré-evento para reexecução de instância

    image

    image

    dataworks:InstanceChange:PreRerunInstance

    pre-rerun-instance

    Pré-evento para definição de instância como bem-sucedida

    image

    image

    dataworks:InstanceChange:PreSetInstanceSuccess

    pre-set-instance-success

    Pré-evento para encerramento de instância

    image

    image

    dataworks:InstanceChange:PreKillInstance

    pre-kill-instance

    Excluir instâncias expiradas

    image

    image

    dataworks:InstanceChange:ExpiredTaskInstancesDeleted

    expired-task-instances-deleted

    Alterações de status do fluxo de trabalho

    Alterações de status do fluxo de trabalho

    • Instâncias de dados de backfill

    • Fluxos de trabalho manuais

    image

    image

    dataworks:DagStatusChanges:DagStatusChanges

    dag-status-changes

    Alertas de monitoramento

    Alertas de monitoramento

    image

    image

    dataworks:MonitorAlert:WorkbenchMonitorAlert

    workbench-monitor-alert

Formato da mensagem

Eventos de alteração de nó (exclusão, cancelamento de publicação, congelamento e descongelamento)

  • O exemplo a seguir mostra o formato do corpo da mensagem de um evento de exclusão de nó (o conteúdo do campo data na mensagem do evento).

    {
      "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
      }
    }

    A tabela a seguir descreve os campos:

    Campo

    Tipo

    Descrição

    nodeName

    String

    Nome do nó.

    programType

    String

    Tipo de código do arquivo. Para consultar o tipo de código de um arquivo, chame a operação ListFileType ou consulte File code types para ver os tipos de código disponíveis.

    cronExpress

    String

    Expressão cron para agendamento periódico.

    Este parâmetro corresponde a de uma tarefa do Data Studio no DataWorks console.

    Após configurar o agendamento e o horário agendado, o DataWorks gera automaticamente a expressão cron correspondente. Exemplos:

    • Agendado para 05:30 todos os dias: 00 30 05 ?

    • Agendado para o minuto 15 de cada hora: 00 15 * ?

    • Agendado a cada 10 minutos: 00 00/10 * ?

    • Agendado a cada 10 minutos, das 08:00 às 17:00, todos os dias: 00 00-59/10 8-17 * ?

    • Agendado para 00:20 no dia 1º de cada mês: 00 20 00 1 * ?

    • Agendado a cada 3 meses, começando em 1º de janeiro às 00:10: 00 10 00 1 1-12/3 ?

    • Agendado para 00:05 toda terça e sexta-feira: 00 05 00 2,5

    Nota

    A expressão cron possui as seguintes limitações:

    • O intervalo mínimo de agendamento é de 5 minutos.

    • O horário mais cedo para agendamento diário é 00:05.

    schedulerType

    String

    Tipo de agendamento da instância da tarefa. Valores válidos:

    • 0: NORMAL. Tarefa agendada normalmente, acionada por agendamento periódico.

    • 1: MANUAL. Tarefa manual que não é acionada por agendamento periódico.

    • 2: PAUSE. Tarefa congelada. Embora seja acionada pelo agendamento periódico, seu status é definido como falha imediatamente após o início do agendamento.

    • 3: SKIP. Tarefa de simulação (dry-run). Acionada pelo agendamento periódico, mas definida como bem-sucedida assim que o agendamento começa.

    • 4: SKIP_UNCHOOSE. Tarefa não selecionada em um fluxo de trabalho temporário. Existe apenas nesse contexto e é marcada como bem-sucedida no momento do agendamento.

    • 5: SKIP_CYCLE. Tarefa semanal ou mensal que ainda não atingiu seu ciclo de execução. É acionada periodicamente, mas definida como bem-sucedida logo no início do agendamento.

    • 6: CONDITION_UNCHOOSE. Uma instância upstream contém um nó de ramificação (IF) e o nó downstream não foi selecionado por essa ramificação. A tarefa entra diretamente em modo de simulação.

    • 7: REALTIME_DEPRECATED. Instância agendada gerada em tempo real que expirou. A tarefa é definida diretamente como bem-sucedida.

    ownerId

    String

    ID de usuário Alibaba Cloud do proprietário do nó. Se este parâmetro estiver vazio, o sistema usa por padrão o ID de usuário Alibaba Cloud do chamador.

    priority

    Integer

    Prioridade da tarefa. Valores válidos: 1, 3, 5, 7 e 8. Quanto maior o valor, maior a prioridade.

    baselineId

    Long

    ID da linha de base.

    repeatability

    Boolean

    Indica se o nó pode ser executado novamente:

    • true: O nó permite reexecução.

    • false: O nó não permite reexecução.

    modifyTime

    Long

    Horário da última modificação do nó.

    createTime

    Long

    Horário de criação do nó.

    nodeId

    Long

    ID do nó.

    projectId

    Long

    ID do workspace ao qual o nó pertence.

    tenantId

    Long

    ID do tenant ao qual o nó pertence.

    operator

    String

    UID do usuário que criou, modificou ou excluiu o nó.

  • O exemplo abaixo ilustra o formato do corpo da mensagem para eventos de congelamento, descongelamento e cancelamento de publicação de nós (conteúdo do campo data na mensagem do evento).

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "operator": "19***735",
        "projectId": 12***56,
        "tenantId": 28***656,
        "nodeIds":[1,2,3],
        "extensionBizId": "12***56"
      }
    }

    A tabela a seguir descreve os campos:

    Campo

    Tipo

    Descrição

    operator

    String

    UID do usuário que congelou, descongelou ou cancelou a publicação do nó.

    projectId

    Long

    ID do workspace ao qual o nó pertence.

    tenantId

    Long

    ID do tenant.

    nodeIds

    Array

    Lista de IDs dos nós que sofreram a operação.

    extensionBizId

    String

    ID do processo de checkpoint do Extensions.

Backfill de dados para nós

Este exemplo apresenta o formato do corpo da mensagem de um evento de backfill de dados (conteúdo do campo data na mensagem do evento).

{
  "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"
  }
}

A tabela abaixo detalha os campos:

Campo

Tipo

Descrição

name

String

Nome do fluxo de trabalho de backfill de dados.

rootNodeId

Long

ID do nó raiz do fluxo de trabalho de backfill de dados.

rootNodeProjectId

Long

ID do workspace ao qual o nó raiz do fluxo de trabalho de backfill pertence.

includeNodeIds

Array

Lista de IDs de nós incluídos na operação de backfill de dados.

excludeNodeIds

Array

Lista de IDs de nós excluídos da operação de backfill. Os nós nesta lista geram instâncias de simulação, definidas como bem-sucedidas no agendamento sem executar o conteúdo do script.

bizBeginTime

String

Horário de início da tarefa. Este parâmetro é obrigatório apenas para tarefas com agendamento horário. O formato é HH:mm:ss. Valores válidos: de 00:00:00 a 23:59:59.

bizEndTime

String

Horário de término da tarefa. Necessário somente para tarefas com agendamento horário. Formato: HH:mm:ss. Valores válidos: de 00:00:00 a 23:59:59.

isParallel

Boolean

Define se a operação de backfill de dados pode ser executada em paralelo:

  • true: A execução paralela é permitida.

  • false: A execução paralela não é permitida.

parallelGroup

Integer

Número de grupos paralelos. O valor 1 indica que não há agrupamento.

startFutureInstanceImmediately

Boolean

Indica se deve ignorar o horário agendado e executar imediatamente instâncias com datas de negócio futuras:

  • true: Ignora o horário agendado e executa instâncias futuras imediatamente.

  • false: Respeita o horário agendado. Instâncias futuras não são executadas imediatamente.

order

String

Ordem de execução das instâncias de backfill com base nas datas de negócio:

  • acs: Executa em ordem crescente de datas de negócio.

  • desc: Executa em ordem decrescente de datas de negócio.

multipleTimePeriods

String

Intervalos de datas de negócio selecionados em segmentos. Exemplo: [{\"bizBeginTime\":\"2022-04-17\",\"bizEndTime\":\"2022-04-17\"}].

tenantId

Long

ID do tenant.

projectId

Long

ID do projeto onde a operação de backfill de dados é realizada.

operator

String

ID do usuário que realizou a operação de backfill de dados.

extensionBizId

String

ID do processo de checkpoint do Extensions.

eventCode

String

Código do evento do Extensions.

Evento de alteração de status da tarefa

Veja abaixo o formato do corpo da mensagem (conteúdo do campo data na mensagem do evento) para alterações de status de tarefas agendadas.

{
  "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
  }
}

Os campos são descritos na tabela a seguir:

Campo

Tipo

Descrição

finishTime

Long

Horário em que a instância da tarefa agendada terminou a execução.

beginWaitTimeTime

Long

Momento em que a instância da tarefa agendada começou a aguardar execução.

beginRunningTime

Long

Instante em que a instância da tarefa agendada iniciou a execução.

dagId

Long

Use o DagId para obter detalhes do DAG.

dagType

Integer

Tipo do DAG. Valores válidos:

  • 0: Tarefa agendada

  • 1: Tarefa manual

  • 2: Teste de fumaça (smoke testing)

  • 3: Backfill de dados

  • 4: Fluxo de trabalho temporário

  • 5: Fluxo de trabalho manual

taskType

Integer

Tipo de agendamento da instância da tarefa. Valores válidos:

  • 0: NORMAL. Tarefa agendada convencional, executada diariamente.

  • 1: MANUAL. Tarefa manual, sem agendamento diário automático.

  • 2: PAUSE. Tarefa congelada. Possui agendamento diário, mas falha imediatamente ao iniciar o ciclo de agendamento.

  • 3: SKIP. Tarefa de simulação. Agendada diariamente, porém marcada como bem-sucedida assim que o agendamento tem início.

  • 4: SKIP_UNCHOOSE. Tarefa não selecionada em fluxo de trabalho temporário. Presente apenas nesse tipo de fluxo, sendo definida como bem-sucedida no início do agendamento.

  • 5: SKIP_CYCLE. Tarefa semanal ou mensal fora do ciclo de execução. Embora agendada diariamente, é marcada como bem-sucedida imediatamente.

  • 6: CONDITION_UNCHOOSE. Instância upstream com nó de ramificação (IF) que não selecionou este nó downstream, resultando em execução simulada direta.

  • 7: REALTIME_DEPRECATED. Instância agendada em tempo real que já expirou. Este tipo de tarefa é definido diretamente como bem-sucedido.

modifyTime

Long

Data e hora da modificação mais recente da instância da tarefa.

createTime

Long

Data e hora de criação da instância da tarefa.

appId

Long

ID do workspace. Para obter informações sobre IDs de workspace, chame a operação ListProjects.

tenantId

Long

ID do tenant do workspace ao qual a instância da tarefa agendada pertence.

opCode

Integer

Código da operação da instância da tarefa agendada. Você pode ignorar este campo.

flowId

Long

ID do fluxo de trabalho.

  • Instância de tarefa agendada: O ID do fluxo de trabalho assume o valor padrão 1.

  • Instância de fluxo de trabalho manual ou interno: Corresponde ao ID real do fluxo de trabalho.

nodeId

Long

ID do nó associado à instância da tarefa agendada.

beginWaitResTime

Long

Horário em que a instância da tarefa agendada começou a aguardar recursos.

taskId

Long

ID da instância da tarefa agendada.

status

Integer

Status da tarefa. Valores válidos:

  • 1: Não está em execução.

  • 2: Aguardando o horário agendado dueTime ou cycleTime.

  • 3: Aguardando recursos.

  • 4: Em execução.

  • 7: Enviado ao Data Quality para verificação de dados.

  • 8: Realizando verificação de condição de ramificação.

  • 5: Falhou.

  • 6: Bem-sucedido.

eventCode

String

Código do evento do Extensions.

Evento de alteração de instância (congelar, descongelar, terminar, reexecutar, definir como bem-sucedido)

O exemplo a seguir exibe o formato do corpo da mensagem (conteúdo do campo data na mensagem do evento) referente a alterações em instâncias.

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "eventCode": "freeze-instance",
    "operator": "19***735",
    "projectId": 12***8,
    "projectType": "PROD",
    "taskIds": [
      523***9736
    ],
    "tenantId": 28***656
  }
}

Confira a descrição dos campos na tabela abaixo:

Campo

Tipo

Descrição

operator

String

UID do usuário que executou a operação na instância (como congelar, descongelar, terminar, reexecutar ou definir como bem-sucedido).

projectType

String

Ambiente de execução.

  • PROD: Ambiente de produção.

  • DEV: Ambiente de desenvolvimento.

taskIds

List

Lista de IDs das instâncias.

projectId

Long

ID do workspace do DataWorks.

tenantId

Long

ID do tenant do workspace ao qual a instância pertence.

eventCode

String

Código do evento.

Evento de alteração de pré-instância (congelar, descongelar, reexecutar, definir como bem-sucedido, eliminar instância)

Este exemplo demonstra o formato do corpo da mensagem (conteúdo do campo data na mensagem do evento) para alterações em pré-instâncias.

{
  "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"
  }
}

A tabela seguinte detalha os campos:

Campo

Tipo

Descrição

extensionBizId

String

ID do processo de checkpoint do Extensions.

extensionBizName

String

Nome do objeto da operação. Múltiplos objetos são representados como "nome do objeto...".

projectId

Long

ID do workspace do DataWorks.

taskIds

List

Lista de IDs das instâncias.

tenantId

String

ID do tenant do workspace ao qual a instância pertence.

operator

Long

UID do usuário que realizou a operação na instância.

eventCode

String

Código do evento do ponto de extensão.

Evento de alteração de instância - Excluir instâncias expiradas

Veja a seguir o formato do corpo da mensagem (conteúdo do campo data na mensagem do evento) referente à exclusão de instâncias expiradas.

{
    "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
    }
}

Os campos estão descritos na tabela abaixo:

Campo

Tipo

Descrição

deletedTaskInstanceIds

List

Lista de IDs das instâncias excluídas.

owner

String

ID de usuário do proprietário da instância.

operationTime

Long

Horário da operação.

blockBusiness

Boolean

Indica se o processo deve ser bloqueado quando houver uma extensão:

  • true: Bloqueia o processo.

  • false: Não bloqueia o processo.

appId

Long

ID do workspace do DataWorks.

tenantId

String

ID do tenant do workspace ao qual a instância pertence.

operator

Long

UID do usuário que realizou a operação na instância.

eventCode

String

Código do evento do ponto de extensão.

Evento de remoção de dependência upstream específica da instância

O formato do corpo da mensagem (conteúdo do campo data na mensagem do evento) para a remoção de dependência upstream específica de uma instância é mostrado abaixo:

{
    "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
    }
}

A tabela a seguir descreve os campos:

Campo

Tipo

Descrição

taskInstanceId

Long

ID da instância downstream.

upstreamTaskInstanceIds

List

Lista de IDs das instâncias upstream das quais a dependência foi removida.

operator

String

UID do usuário que executou a operação.

operationTime

Long

Horário da operação.

Evento de alteração de status do fluxo de trabalho

Confira abaixo o formato do corpo da mensagem (conteúdo do campo data na mensagem do evento) referente a alterações de status do fluxo de trabalho.

{
  "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
  }
}

A tabela a seguir descreve os campos:

Campo

Tipo

Descrição

bizDate

String

Data de negócios do workflow. Formato: yyyy-mm-dd hh24:mi:ss.

createTime

String

Horário de criação do workflow. Formato: yyyy-mm-dd hh24:mi:ss.

dagId

Long

ID do DAG. Utilize este ID para obter detalhes do DAG.

dagName

String

Nome do workflow.

dagType

Integer

Tipo do DAG. Valores válidos:

  • 0: Tarefa agendada.

  • 1: Tarefa manual.

  • 2: Teste de fumaça.

  • 3: Backfill de dados.

  • 4: Workflow temporário.

  • 5: Workflow manual.

flowId

Integer

ID do workflow ao qual o DAG pertence.

flowName

String

Nome do workflow ao qual o DAG pertence.

operator

String

UID do usuário que criou o workflow.

projectEnv

String

Ambiente do workflow. Valores válidos:

  • DEV: Ambiente de desenvolvimento.

  • PROD: Ambiente de produção.

tenantId

Long

ID do tenant do workspace ao qual a instância agendada pertence.

projectId

Long

ID do workspace.

status

Integer

Status das tarefas no workflow. Valores válidos:

  • 1: Não está em execução.

  • 4: Em execução.

  • 5: Falhou.

  • 6: Sucesso.

eventCode

String

Código de evento do Extensions.

Monitoring alerts

  • O exemplo a seguir apresenta o formato do corpo da mensagem de um alerta de linha de base (conteúdo do campo data na mensagem).

    {
      "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
      }
    }

    A tabela abaixo descreve os campos.

    Campo

    Tipo

    Descrição

    alarmType

    String

    Tipo do alerta. Valores válidos:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    baselineId

    Long

    ID da linha de base.

    baselineName

    String

    Nome da linha de base.

    baselineStatus

    Integer

    Status da linha de base. Valores válidos:

    • -1: Anormal.

    • 1: Seguro.

    • 2: Aviso.

    • 3: Violado.

    bizDate

    Long

    Timestamp da data de negócios.

    inGroupId

    Integer

    Número do ciclo da instância da linha de base. O valor é 1 para linhas de base diárias. Para linhas de base horárias, o intervalo de valores é [1,24].

    nodeId

    Long

    ID do nó que causou a exceção da linha de base.

    projectId

    Long

    ID do workspace ao qual a linha de base pertence.

    taskId

    Long

    ID da instância que causou a exceção da linha de base.

    tenantId

    Long

    ID do tenant.

    eventCode

    String

    Código de evento do Extensions.

  • Este exemplo ilustra o formato do corpo da mensagem de um alerta de evento (conteúdo do campo data na mensagem).

    {
      "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
      }
    }

    A tabela a seguir detalha os campos.

    Campo

    Tipo

    Descrição

    alarmType

    String

    Tipo do alerta. Valores válidos:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    topicId

    Long

    ID do evento.

    taskStatus

    String

    Status da instância do nó que acionou o evento.

    nodeId

    Integer

    ID do nó que acionou o evento.

    projectId

    Long

    ID do workspace ao qual pertence o nó que acionou o evento.

    taskId

    Long

    ID da instância do nó que acionou o evento.

    tenantId

    Long

    ID do tenant.

  • Veja abaixo o formato do corpo da mensagem para um alerta de regra de tarefa (conteúdo do campo data na mensagem).

    Nota

    Geralmente, os objetos de regra incluem nós de tarefa, linhas de base, workspaces e 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
      }
    }

    Os campos são descritos na tabela seguinte.

    Campo

    Tipo

    Descrição

    alarmType

    String

    Tipo do alerta. Valores válidos:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    nodeIds

    String

    Lista de nós que acionaram o alerta de regra.

    remindId

    Long

    ID da regra.

    remindType

    Stirng

    Condição de acionamento da regra. Valores válidos:

    • FINISHED: Concluído.

    • UNFINISHED: Não concluído.

    • ERROR: Ocorreu um erro.

    • CYCLE_UNFINISHED: Ciclo não concluído.

    • TIMEOUT: Tempo esgotado.

    projectId

    Long

    ID do workspace ao qual pertence o nó que acionou a regra.

    remindUnit

    String

    Tipo de objeto que acionou a regra. Valores válidos:

    • NODE: Nó de tarefa.

    • GATEWAY_RES: Grupo de recursos exclusivo para agendamento.

    • DI_RES: Grupo de recursos do Data Integration.

    tenantId

    Long

    ID do tenant.

    taskId

    String

    Lista de instâncias que acionaram o alerta de regra.

    remindName

    String

    Nome da regra.

  • O formato do corpo da mensagem de um alerta de regra de grupo de recursos é exibido no exemplo abaixo (conteúdo do campo data na mensagem).

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "alarmType": "REMIND_ALERT",
        "projectId": 9***4,
        "remindId": 200***186,
        "remindName": "Exclusive resource group alert",
        "remindType": "RES_GROUP_THRESHOLD",
        "remindUnit": "GATEWAY_RES",
        "resourceGroupIdentifier": "S_res_group_195820716552192_1650965857744",
        "resourceGroupName": "emr_exclusive_scheduld",
        "resourceGroupType": "GATEWAY",
        "tenantId": 28***656
      }
    }

    Confira a descrição dos campos na tabela a seguir.

    Campo

    Tipo

    Descrição

    alarmType

    String

    Tipo do alerta. Valores válidos:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    remindId

    Long

    ID da regra.

    remindType

    Stirng

    Condição de acionamento da regra. Valores válidos:

    • FINISHED: Concluído.

    • UNFINISHED: Não concluído.

    • ERROR: Ocorreu um erro.

    • CYCLE_UNFINISHED: Ciclo não concluído.

    • TIMEOUT: Tempo esgotado.

    • RES_GROUP_THRESHOL: Utilização do grupo de recursos.

    • RES_GROUP_WAIT_AMOUNT: Quantidade de instâncias aguardando recursos no grupo de recursos.

    projectId

    Long

    ID do workspace ao qual pertence o nó que acionou a regra.

    remindUnit

    String

    Tipo de objeto que acionou a regra. Valores válidos:

    • NODE: Nó de tarefa.

    • GATEWAY_RES: Grupo de recursos exclusivo para agendamento.

    • DI_RES: Grupo de recursos do Data Integration.

    tenantId

    Long

    ID do tenant.

    remindName

    String

    Nome da regra.

    resourceGroupIdentifier

    String

    Identificador exclusivo do grupo de recursos.

    resourceGroupName

    String

    Nome do grupo de recursos.

    resourceGroupType

    String

    Tipo do grupo de recursos. Valores válidos:

    • GATEWAY: Grupo de recursos de agendamento.

    • DI: Grupo de recursos do Data Integration.

Lista de eventos do Security Center

Lista de eventos

Tipo de evento

Evento (e operação de gatilho)

Evento padrão

Evento de ponto de extensão

Tipo de evento do EventBridge

(Type)

Código de evento de extensões (eventCode)

Approval center

(V1)

Create Permission Request Process V1

image

image

dataworks:ApprovalChange:ApprovalChangeCreated

approval-change-created

Complete Permission Request Process V1

image

image

dataworks:ApprovalChange:ApprovalChangeFinished

approval-change-finished

Approval center

(V2)

Create Permission Request Process V2

image

image

dataworks:ApprovalChange:ApprovalChangeCreatedV2

approval-change-created-v2

Complete Permission Request Process V2

image

image

dataworks:ApprovalChange:ApprovalChangeFinishedV2

approval-change-finished-v2

Security Center (permission request V1)

Create Pre-event for Permission Request Form V1

image

image

dataworks:ApprovalChange:ApprovalChangeBeforeCreate

approval-change-before-create

Security Center (permission request V2)

Create Pre-event for Permission Request Form V2

image

image

dataworks:ApprovalChange:ApprovalChangeBeforeCreateV2

approval-change-before-create-v2

Formato da mensagem

Approval center (permission request process V1)

  • O exemplo a seguir mostra o formato do corpo da mensagem do pré-evento para criação de uma solicitação de permissão (conteúdo do campo data na mensagem do evento).

    {
      "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
        }

    A tabela a seguir descreve os campos:

    Campo

    Tipo

    Descrição

    appId

    Long

    O ID do workspace.

    assignee

    String

    O BaseId do responsável pela aprovação.

    assigneeName

    String

    O nome do responsável pela aprovação.

    comments

    String

    Os comentários.

    createTime

    Long

    O timestamp de criação da solicitação de aprovação.

    flowId

    String

    O ID da solicitação de aprovação.

    status

    String

    O status da solicitação de aprovação.

    taskId

    String

    O ID da tarefa de aprovação.

    tenantId

    String

    O ID do tenant.

    updateTime

    String

    O timestamp da última atualização da solicitação de aprovação.

    eventType

    String

    O tipo de evento.

    process

    Object

    O objeto da tarefa de aprovação.

    applicant

    String

    O BaseID do solicitante.

    applicantName

    String

    O nome do solicitante.

    assignmentCategory

    String

    O tipo do conteúdo da solicitação.

    createTime

    String

    O timestamp de criação da solicitação de aprovação.

    processDefinitionId

    String

    O ID da definição do workflow.

    processId

    String

    O ID do workflow.

    status

    String

    O status do workflow.

    title

    String

    O título do workflow.

    updateTime

    Long

    O timestamp da última atualização da solicitação de aprovação.

    approvalContent

    Object

    O objeto do conteúdo de aprovação.

    applyPeriod

    String

    A duração solicitada na solicitação de aprovação.

    applyReason

    String

    O motivo da solicitação de aprovação.

    contentType

    String

    O tipo do conteúdo de aprovação.

    odpsProjectName

    String

    O nome do projeto de aprovação.

    resourceSummary

    String

    A descrição do recurso.

    tenantId

    Long

    O ID do tenant.

    workspaceId

    Long

    O ID do workspace.

    projectEnv

    String

    O ambiente ao qual o projeto de aprovação pertence.

    granteeAccounts

    Array

    A lista de acessos concedidos.

    .granteeId

    String

    O ID do beneficiário.

    granteeType

    String

    O tipo do beneficiário.

    granteeTypeSub

    String

    O subtipo do beneficiário.

    granteeName

    String

    O nome do beneficiário.

    arrayData

    Array

    A lista de conteúdos concedidos. Para mais informações, consulte Appendix: Message format.

    eventType

    String

    O tipo de evento.

  • O exemplo abaixo apresenta o formato do corpo da mensagem do evento de conclusão da solicitação de aprovação (conteúdo do campo data na mensagem do evento).

    {
      "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
        }
      }
    }

    A tabela a seguir descreve os campos:

    Campo

    Tipo

    Descrição

    appId

    Long

    O ID do workspace.

    assignee

    String

    O BaseId do responsável pela aprovação.

    assigneeName

    String

    O nome do responsável pela aprovação.

    comments

    String

    Os comentários.

    createTime

    Long

    O timestamp de criação da solicitação de aprovação.

    flowId

    String

    O ID da solicitação de aprovação.

    status

    String

    O status da solicitação de aprovação.

    taskId.

    String

    O ID da tarefa de aprovação.

    tenantId

    String

    O ID do tenant.

    updateTime

    String

    O timestamp da última atualização da solicitação de aprovação.

    eventType

    String

    O tipo de evento.

    process

    Object

    O objeto da tarefa de aprovação.

    applicant

    String

    O BaseID do solicitante.

    applicantName

    String

    O nome do solicitante.

    assignmentCategory

    String

    O tipo do conteúdo da solicitação.

    createTime

    String

    O timestamp de criação da solicitação de aprovação.

    processDefinitionId

    String

    O ID da definição do workflow.

    processId

    String

    O ID do workflow.

    status

    String

    O status do workflow.

    title

    String

    O título do workflow.

    updateTime

    Long

    O timestamp da última atualização da solicitação de aprovação.

    approvalContent

    Object

    O objeto do conteúdo de aprovação.

    applyPeriod

    String

    A duração da solicitação.

    applyReason

    String

    O motivo da solicitação.

    contentType

    String

    O tipo de conteúdo.

    odpsProjectName

    String

    O nome do projeto.

    resourceSummary

    String

    A descrição do recurso.

    tenantId

    Long

    O ID do tenant.

    workspaceId

    Long

    O ID do workspace.

    projectEnv

    String

    O ambiente.

    granteeAccounts

    Array

    A lista de concessões de acesso.

    granteeId

    String

    O ID do beneficiário.

    granteeType

    String

    O tipo de concessão.

    granteeTypeSub

    String

    O subtipo do beneficiário, que indica o tipo de conta. Valores válidos:

    • Conta de produção (conta usada para agendamento de produção): ACCOUNT_PRD(101)

    • Conta de aplicação: ACCOUNT_APP(102)

    • Conta pessoal: ACCOUNT_USER(103)

    • Conta de departamento: ACCOUNT_DEPT(104)

    • Conta simulada: ACCOUNT_MOCK(106)

    • Conta de outro usuário: ACCOUNT_OTHER_USER(105)

    granteeName

    String

    O nome do beneficiário.

    arrayData

    Array

    A lista de conteúdos concedidos. Para mais informações, consulte Appendix: Grant content list.

    eventType

    String

    O tipo de evento.

Approval Center (permission request process V2)

A criação do processo de solicitação de permissão V2 (eventCode: approval-change-created-v2) e a conclusão do processo de solicitação de permissão V2 (eventCode: approval-change-finished-v2) são eventos regulares no nível do workspace. Diferentemente da V1, o campo process.approvalContent dos eventos V2 utiliza a estrutura nativa ApplicationContent e identifica os tipos de recurso por meio de resource.defSchema e resource.defVersion.

Nota

Um evento de conclusão de processo indica que o fluxo de aprovação terminou (aprovado ou rejeitado). Isso não significa que a autorização subjacente do recurso foi executada com sucesso. Para verificar se a autorização entrou em vigor, consulte outras APIs operacionais.

  • O exemplo a seguir exibe o formato completo da mensagem para um evento de criação de processo de solicitação de permissão V2.

    {
      "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"
    }

    A tabela a seguir descreve os campos de nível superior em data. Para descrições completas dos campos de subobjetos, consulte a seção de evento de pré-verificação V2 do Security Center.

    Campo

    Tipo

    Descrição

    eventType

    String

    Valor fixo: approval.

    eventCode

    String

    O código do evento. Valor fixo approval-change-created-v2 para eventos de criação; valor fixo approval-change-finished-v2 para eventos de conclusão.

    tenantId

    Long

    O ID do tenant do DataWorks.

    appId

    Long

    O ID do workspace do DataWorks.

    flowId

    String

    O ID da solicitação. Em processos nativos do Security Center, este valor é igual a processId.

    flowCode

    String

    O tipo de solicitação. Exemplo: MaxComputeTable.

    processId

    String

    O ID da instância do processo de aprovação.

    status

    String

    Definido como Pending para eventos de criação; definido como Completed para eventos de conclusão.

    approvalAction

    String

    A ação de aprovação. Retornado como Agree (aprovado) ou Deny (rejeitado) em eventos de conclusão.

    assignee

    String

    O Base ID do aprovador final. Geralmente retornado em eventos de conclusão.

    createTime

    Long

    O horário de criação do snapshot do evento. Timestamp Unix em milissegundos.

    updateTime

    Long

    O horário de atualização do snapshot do evento. Timestamp Unix em milissegundos.

    process

    Object

    O processo de aprovação e o conteúdo da solicitação.

    process.processId

    String

    O ID da instância do processo de aprovação.

    process.assignmentCategory

    String

    A categoria do recurso. Exemplos: MaxCompute, DLF, HOLO. Não confie apenas neste campo para identificar o recurso. Use arrayData[].resource.defSchema em vez disso.

    process.approvalContent

    Object

    O conteúdo da solicitação de aprovação.

    process.approvalContent.arrayData

    Array

    A lista nativa do Security Center ApplicationContentDTO. Cada registro representa um recurso e um conjunto de permissões.

    arrayData[].resource

    Object

    A definição nativa de recurso do Security Center, contendo defSchema, defVersion e metaData.

    arrayData[].grantee

    Object

    O principal autorizado, contendo principalType e principalId.

    arrayData[].accessTypes

    Array<String>

    A lista de permissões solicitadas pelo usuário.

    arrayData[].finalAccessTypes

    Array<String>

    A lista final de permissões após o ajuste da aprovação. Normalmente igual a accessTypes no momento da criação.

    arrayData[].expirationTime

    Long

    O horário de expiração da permissão. Timestamp Unix em milissegundos.

    arrayData[].status

    String

    O status do conteúdo da solicitação. Geralmente WAIT_APPROVAL para eventos de criação; geralmente CONFIRMED para eventos de conclusão aprovados.

    arrayData[].operation

    String

    A direção da operação de permissão. Normalmente Grant para eventos de solicitação de permissão.

    process.applicant

    String

    O Base ID do solicitante.

  • O exemplo abaixo ilustra o formato completo da mensagem para um evento de conclusão de processo de solicitação de permissão V2.

    {
      "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"
    }

    As descrições dos campos são as mesmas do evento de criação V2 (consulte a tabela de descrição de campos anterior). A tabela a seguir lista os campos que diferem no evento de conclusão.

    Campo

    Tipo

    Descrição

    status

    String

    Valor fixo Completed para eventos de conclusão. Observação: Completed indica que o processo de aprovação terminou. Não significa que a permissão subjacente entrou em vigor. A autorização real pode ser executada de forma assíncrona.

    approvalAction

    String

    A ação de aprovação. Agree (aprovado) ou Deny (rejeitado).

    assignee / assigneeName

    String

    O Base ID e o nome de exibição do aprovador final. Retornado apenas em eventos de conclusão.

    arrayData[].status

    String

    Definido como CONFIRMED após aprovação; definido como REJECT_APPROVAL após rejeição.

    process.status

    String

    O status do workflow. Definido como Completed (encerrado) em eventos de conclusão.

Security Center (permission request pre-creation event V1)

O exemplo a seguir mostra o formato da entidade da mensagem (o conteúdo do campo data na mensagem do evento) para um evento de pré-verificação de solicitação de permissão de tabela.

{
  "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
  }
}

A tabela a seguir descreve os campos.

Campo

Tipo

Descrição

operator

String

O UID do usuário que iniciou a operação de pré-verificação de solicitação de permissão de tabela.

projectId

Long

O ID do workspace onde a operação de pré-verificação de solicitação de permissão de tabela foi realizada.

tenantId

Long

O ID do tenant onde a operação de pré-verificação de solicitação de permissão de tabela foi realizada.

order

Object

As informações da solicitação.

applyReason

String

O motivo da solicitação.

deadlineDate

String

A data de expiração da solicitação.

deadlineType

String

A unidade de tempo do período de expiração da solicitação. Por exemplo, Dia ou Mês.

granteeObjectList

Object

A lista de objetos beneficiários.

granteeId

String

O ID do objeto beneficiário, que corresponde ao ID do usuário RAM.

projectMeta

Object

As informações do workspace.

envCode

Integer

O identificador de ambiente do workspace. 0 indica o ambiente de desenvolvimento e 1 indica o ambiente de produção.

labelSecurity

Boolean

Especifica se o controle de acesso no nível de rótulo está ativado:

  • true: Ativado.

  • false: Desativado.

objectMetaList

Array

A lista de objetos de concessão.

action

Array

As ações de concessão. Por exemplo, conceder permissões Select ou Describe em uma tabela.

name

String

O nome da tabela para a qual as permissões são solicitadas.

projectGuid

String

O GUID do workspace onde a tabela reside.

projectName

String

O nome do workspace onde a tabela reside.

eventType

String

O tipo de evento.

Security Center (permission request pre-creation event V2)

O evento de pré-criação de solicitação de permissão V2 (eventCode: approval-change-before-create-v2) é um evento de ponto de extensão no nível global. Ao contrário do evento de pré-verificação V1, o corpo da mensagem V2 data.order é um objeto nativo ApplicationForm que suporta todos os tipos de recursos atuais por meio de defSchema e identifica os tipos de recurso através de resource.defSchema e resource.defVersion.

O exemplo a seguir apresenta o formato completo da mensagem para um evento de pré-criação de solicitação de permissão V2.

{
  "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"
}

A tabela a seguir descreve os campos de data.

Campo

Tipo

Descrição

eventType

String

Valor fixo: approval-create-before-v2.

eventCode

String

O código de evento de ponto de extensão V2. Valor fixo: approval-change-before-create-v2.

tenantId

Long

O ID do tenant do DataWorks.

extensionBizId

String

O ID de negócio exclusivo do ponto de extensão. Para eventos V2, o valor termina com @@v2.

operator

String

O Base ID do usuário que iniciou a solicitação.

extensionBizName

String

O nome de exibição do negócio do ponto de extensão. Não utilize este campo como chave exclusiva.

order

Object

O formulário de solicitação nativo do Security Center. Tipo: ApplicationForm.

order.operator

String

O Base ID do usuário que iniciou a solicitação.

order.applicationContents

Array

A lista de detalhes de permissões de recursos para esta solicitação.

order.applicationContents[].resource

Object

As informações de definição do recurso solicitado.

order.applicationContents[].resource.defSchema

String

O nome da definição de recurso que distingue engines e modelos de recursos. Exemplos: MaxCompute, DLF_V1, HOLOGRES. Direcione a lógica de análise por defSchema. Ignore valores desconhecidos graciosamente em vez de gerar erros.

order.applicationContents[].resource.defVersion

String

A versão da definição de recurso. Exemplo: v1.0.0.

order.applicationContents[].resource.metaData

Object

Os metadados hierárquicos organizados por definição de recurso. Os campos variam conforme defSchema e defVersion. Permita campos desconhecidos na implementação do seu consumidor.

order.applicationContents[].grantee

Object

O principal autorizado.

order.applicationContents[].grantee.principalType

String

O tipo do principal autorizado. Exemplos: RAM_USER, RAM_ROLE.

order.applicationContents[].grantee.principalId

String

O ID do principal autorizado. O formato depende de principalType.

order.applicationContents[].accessTypes

Array<String>

A lista de permissões solicitadas pelo usuário. Exemplo: ["Select", "Describe"].

order.applicationContents[].expirationTime

Long

O horário de expiração da permissão. Timestamp Unix em milissegundos.

order.applyReason

String

O motivo da solicitação.

Nota

Em eventos de pré-verificação, applicationContents[] ainda não foi persistido. Portanto, contentId, processInstanceId, resourceIndex, finalAccessTypes, status, createTime e updateTime normalmente não existem. Seu analisador JSON deve ignorar campos desconhecidos e permitir que campos marcados como opcionais neste documento estejam ausentes.

Guia de manutenção e migração de eventos V1

Prazo de manutenção

Os eventos V1 do Security Center do DataWorks (approval-change-before-create, approval-change-created, approval-change-finished) serão mantidos até 31 de dezembro de 2026. A partir de 1º de janeiro de 2027:

  • Nenhum novo tipo de recurso, campo ou capacidade de compatibilidade será adicionado aos eventos V1.

  • Novos tipos de recursos serão enviados apenas por meio de eventos V2 e não serão retroalimentados nos eventos V1.

  • O fim da manutenção não significa a cessação imediata da entrega. A data final de interrupção da entrega para eventos V1 será anunciada separadamente. Acompanhe o site oficial para atualizações.

Mapeamento de eventos V1 / V2

Evento V1 (eventCode)

Evento V2 correspondente (eventCode)

Principais alterações

approval-change-before-create

approval-change-before-create-v2

O corpo da mensagem data.order migra de uma estrutura personalizada para o ApplicationForm nativo do Security Center. Os tipos de recursos são identificados por resource.defSchema + resource.defVersion.

approval-change-created

approval-change-created-v2

process.approvalContent migra da estrutura personalizada arrayData para ApplicationContentDTO. As informações do recurso são identificadas por resource.defSchema.

approval-change-finished

approval-change-finished-v2

Igual ao acima. Um evento de conclusão indica apenas que o processo de aprovação terminou. Não significa que a autorização subjacente do recurso foi executada com sucesso.

Notas de migração

  • Assinaturas separadas: V1 e V2 usam valores diferentes de eventCode. Durante o período de manutenção, ambos os conjuntos de eventos são enviados para a mesma operação de aprovação. Distinta entre os dois conjuntos por eventCode para evitar processamento duplicado do mesmo estágio de negócio.

  • Análise separada: Ao assinar via EventBridge, filtre os eventos alvo pelo campo EventBridge event type (Type). V1 e V2 possuem valores de tipo CloudEvents diferentes. Crie regras de assinatura separadas para cada um.

  • Compatibilidade de análise de recursos: Ao analisar informações de recursos de eventos V2, use resource.defSchema + resource.defVersion como fonte da verdade. Permita campos desconhecidos em resource.metaData. Implemente análise compatível (ignore valores desconhecidos de defSchema em vez de lançar exceções).

  • Seleção de chave de correlação: Use processId como chave de correlação da solicitação e contentId como chave de correlação do conteúdo da solicitação.

  • Verificação de desvio: Encaminhe mensagens V2 para um ambiente de teste e compare os resultados com a V1 antes de alternar o consumo em produção.

Apêndice: Lista de conteúdo de concessão (MaxCompute)

Nos eventos Security Center, quando uma aprovação ou solicitação de permissão de tabela é acionada, o DataWorks adiciona arrayData à mensagem de evento enviada ao EventBridge. Quando o tipo assignmentCategory é MaxCompute, o conteúdo de arrayData é o seguinte:

{
    "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"
  }

A tabela a seguir descreve os campos.

Campo

Tipo

Descrição

ownerBaseId

String

O BaseID do proprietário da tabela.

ownerAccountName

String

O nome do proprietário da tabela.

objectType

String

O tipo de objeto.

odpsTable

String

O nome da tabela.

envType

String

O ambiente da tabela.

projectGuid

String

O GUID do projeto.

objectGuid

String

O GUID do objeto.

objectName

String

O nome do objeto.

odpsProject

String

O nome do projeto ODPS.

projectName

String

O código do projeto.

projectId

Long

O ID do projeto.

workspaceId

String

O ID do workspace.

actions

Array

A lista de tipos de ação.

Apêndice: Lista de conteúdo de concessão (Data Service)

Nos eventos Security Center, quando uma aprovação ou solicitação de permissão de tabela é acionada, o DataWorks adiciona arrayData à mensagem de evento enviada ao EventBridge. Quando o tipo assignmentCategory é DataService, o conteúdo de arrayData é o seguinte:

{
    "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":"******"
  }

A tabela a seguir descreve os campos.

Campo

Tipo

Descrição

resourceId

String

O ID do recurso.

ownerName

String

O nome do proprietário do recurso.

resourceVersion

Long

A versão do recurso.

name

String

O nome do recurso.

dsDeployId

String

O ID de implantação do Data Service.

workspaceName

String

O nome do workspace.

id

String

O ID exclusivo do recurso.

type

String

O tipo de recurso. Valores válidos:

  • 1: API.

  • 2: Função.

  • 3: Orquestração de API.

ownerId

String

O BaseID do proprietário do recurso.

url

String

A URL do Data Service.

workspaceId

String

O ID do workspace.

Lista de eventos de Data Quality

Instruções

  1. Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado

  2. Escreva o português brasileiro DO ZERO — esqueça a estrutura das frases em inglês

  3. Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão

  4. Copie os placeholders de xref ({XREF_N}) literalmente, sem traduzir ou modificar

  5. Aplique todas as regras específicas do idioma rigorosamente

  6. Aplique as regras de stopwords com tolerância zero

  7. Use o modo imperativo em passos numerados e listas de procedimentos

  8. Garanta a consistência terminológica — o mesmo termo deve ter a mesma tradução em todo o documento

  9. Varie os inícios de frase em listas e tabelas — nenhum início deve se repetir 3 vezes ou mais

  10. Retorne APENAS o documento markdown em português brasileiro, sem explicações

    Lista de eventos

    Tipo de evento

    Evento (e operação de gatilho)

    Evento padrão

    Evento de ponto de extensão

    Tipo de evento do EventBridge

    (Tipo)

    Código do evento de extensão (eventCode)

    Verificação de qualidade de dados

    Feedback do resultado da verificação

    • Feedback fornecido pelo usuário sobre os resultados da verificação

    image

    image

    dataworks:DqcCheck:DqcCheckFeedbackEvent

    dqc-check-feedback-event

    Verificação concluída

    • Envia o resultado da verificação de regras após a conclusão (inclui informações como aprovação ou reprovação, dados de amostra e outros detalhes)

    image

    image

    dataworks:DqcCheck:DqcCheckFinishedEvent

    dqc-check-finished-event

    Pré-evento de regra de qualidade de dados

    Pré-evento para criação em lote de regras de qualidade de dados

    image

    image

    dataworks:DqcCheck:BatchCreateDataQualityRules

    batch-create-data-quality-rules

    Pré-evento para atualização em lote de regras de qualidade de dados

    image

    image

    dataworks:DqcCheck:BatchUpdateDataQualityRules

    batch-update-data-quality-rules

    Pré-evento para exclusão em lote de regras de qualidade de dados

    image

    image

    dataworks:DqcCheck:BatchDeleteDataQualityRules

    batch-delete-data-quality-rules

    Pré-evento para atualização de regra de qualidade de dados

    image

    image

    dataworks:DqcCheck:UpdateDataQualityRule

    update-data-quality-rule

    Pré-evento de monitoramento de qualidade de dados

    Pré-evento para criação de monitoramento de qualidade de dados

    image

    image

    dataworks:DqcCheck:CreateDataQualityEvaluationTask

    create-data-quality-evaluation-task

    Pré-evento para atualização de monitoramento de qualidade de dados

    image

    image

    dataworks:DqcCheck:UpdateDataQualityEvaluationTask

    update-data-quality-evaluation-task

    Pré-evento para clonagem de monitoramento de qualidade de dados

    image

    image

    dataworks:DqcCheck:CloneDataQualityEvaluationTask

    clone-data-quality-evaluation-task

    Pré-evento para exclusão em lote de monitoramentos de qualidade de dados

    image

    image

    dataworks:DqcCheck:BatchDeleteDataQualityEvaluationTasks

    batch-delete-data-quality-evaluation-tasks

    Pré-evento de assinatura de alerta de monitoramento de qualidade de dados

    Pré-evento para criação de assinatura de alerta de monitoramento de qualidade de dados

    image

    image

    dataworks:DqcCheck:CreateDataQualityEvaluationTaskNotification

    create-data-quality-evaluation-task-notification

    Pré-evento para atualização de assinatura de alerta de monitoramento de qualidade de dados

    image

    image

    dataworks:DqcCheck:UpdateDataQualityEvaluationTaskNotification

    update-data-quality-evaluation-task-notification

    Pré-evento para exclusão de assinatura de alerta de monitoramento de qualidade de dados

    image

    image

    dataworks:DqcCheck:DeleteDataQualityEvaluationTaskNotification

    delete-data-quality-evaluation-task-notification

    Formato da mensagem

    Verificação de Data Quality

    • O exemplo a seguir apresenta o formato do corpo da mensagem (conteúdo do campo data na mensagem de evento) para um evento de feedback de resultado de verificação de Data Quality.

      {
        "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
        }
      }

      A tabela a seguir descreve os principais campos.

      Campo

      Tipo

      Descrição

      ruleId

      Long

      ID da regra de qualidade de dados.

      ruleCheckId

      Long

      ID de incremento automático do resultado da verificação.

      feedbackContent

      String

      Conteúdo do feedback.

      createUser

      String

      ID do usuário que forneceu o feedback.

      taskid

      String

      ID da tarefa de Data Quality.

      beginTime

      String

      Horário do feedback.

      envType

      String

      Tipo de fonte de dados da tabela associada à regra. Valores válidos: ODPS, EMR e HOLO.

      projectName

      String

      Identificador exclusivo da fonte de dados à qual pertence a tabela associada à regra.

      projectId

      Long

      ID do workspace do DataWorks.

      tenantId

      Long

      ID do tenant do DataWorks.

    • O exemplo abaixo ilustra o formato do corpo da mensagem (conteúdo do campo data na mensagem de evento) para um evento de conclusão de verificação de Data Quality.

      {
        "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
        }
      }

      Os campos são descritos da seguinte forma:

      Campo

      Tipo

      Descrição

      id

      Long

      ID de chave primária do processo de verificação atual. Um novo registro de ID de chave primária é gerado sempre que uma verificação de regra é acionada.

      projectId

      Long

      ID do workspace do DataWorks.

      tenantId

      Long

      ID do tenant do DataWorks.

      taskId

      String

      ID da tarefa de verificação.

      entityId

      Long

      ID da expressão de partição.

      ruleId

      Long

      ID da regra.

      property

      String

      Campo da propriedade da regra, correspondente ao nome da coluna da tabela de fonte de dados em verificação.

      bizdate

      Long

      Data de negócios. Se a entidade de negócios verificada for dados offline, a data de negócios geralmente corresponde ao dia anterior à execução da verificação.

      dateType

      String

      Tipo de agendamento. Geralmente YMD, representando tarefas anuais, mensais e diárias.

      actualExpression

      String

      Partição real da tabela de fonte de dados em verificação.

      matchExpression

      String

      Expressão de partição.

      blockType

      Integer

      Força da regra de verificação, indicando sua importância. Valores válidos:

      • 1: Regra forte.

      • 0: Regra fraca.

      Regras importantes podem ser definidas como fortes conforme as necessidades do negócio. Caso uma regra forte dispare um alerta vermelho, a tarefa agendada será bloqueada.

      checkResult

      Integer

      Status do resultado da verificação. Valores válidos:

      • -2: Verificação ignorada

      • -1: Exceção na verificação

      • 0: Verificação aprovada

      • 1: Limiar laranja atingido

      • 2: Limiar vermelho atingido

      methodName

      String

      Métodos disponíveis para coleta de dados de amostra incluem: 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 e table_count-count_distinct.

      beginTime

      Long

      Horário de início da verificação.

      endTime

      Long

      Horário final para consulta dos resultados da verificação.

      timeConsuming

      String

      Tempo consumido pela tarefa de verificação.

      externalType

      String

      Tipo do sistema de agendamento. Atualmente, apenas CWF2 é suportado. Se externalType estiver vazio, trata-se de uma tarefa de execução manual de teste.

      externalId

      String

      • Quando externalType for CWF2, este campo indica o ID do nó da tarefa agendada.

      • Quando externalType estiver vazio, o valor será triggerByManual, indicando que a tarefa foi acionada manualmente.

      discrete

      Boolean

      Indica se a verificação discreta está em uso. Valores válidos:

      • true: Verificação discreta utilizada.

      • false: Verificação discreta não utilizada.

      fixedCheck

      Boolean

      Indica se a verificação de valor fixo está em uso. Valores válidos:

      • true: Verificação de valor fixo utilizada.

      • false: Verificação de valor fixo não utilizada.

      referenceValue

      Valor histórico da amostra.

      bizDate

      Long

      Data de negócios. Se a entidade de negócios verificada for dados offline, a data de negócios geralmente corresponde ao dia anterior à execução da verificação.

      discreteProperty

      String

      Valor da coluna de amostra após uma operação GROUP BY. Por exemplo, se GROUP BY for aplicado a uma coluna de gênero, os valores de DiscreteProperty serão male, female e null.

      value

      Decimal

      Valor da amostra.

      singleCheckResult

      Integer

      Representação em string do resultado da verificação.

      sampleValue

      Amostra atualmente em uso.

      bizDate

      Long

      Data de negócios. Se a entidade de negócios verificada for dados offline, a data de negócios geralmente corresponde ao dia anterior à execução da verificação.

      value

      Decimal

      Valor da amostra.

      trend

      String

      Tendência do resultado da verificação.

      expectValue

      Double

      Valor esperado.

      op

      String

      Operador de comparação.

      projectName

      String

      Nome do mecanismo de computação ou da fonte de dados onde as verificações de Data Quality são executadas.

      tableName

      String

      Nome da tabela a ser verificada.

      templateId

      Integer

      ID do modelo de verificação utilizado.

      checkerType

      Integer

      Tipo do verificador.

      ruleName

      String

      Nome da regra.

      isPrediction

      Boolean

      Indica se o resultado é uma previsão. Valores válidos:

      • true: O resultado é uma previsão.

      • false: O resultado não é uma previsão.

      comment

      String

      Descrição da regra de verificação.

      eventCode

      String

      Código do evento de Extensions.

    Eventos de ponto de extensão para regras de qualidade de dados (criação, atualização e exclusão em lote)

    • O exemplo abaixo demonstra o formato da entidade da mensagem (conteúdo do campo data na mensagem de evento) para o evento de ponto de extensão de criação em lote de regras de qualidade de dados.

      {
          "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"
                    }
                  }
                }
              }
            ]
          }
      }

      A tabela a seguir descreve os principais campos.

      Campo

      Tipo

      Descrição

      projectId

      List

      ID do workspace do DataWorks.

      operator

      String

      UID do operador.

      operationTime

      Long

      Horário da operação.

      dataQualityTaskId

      Long

      ID de monitoramento de qualidade de dados associado à regra. Este campo pode estar vazio.

      target

      DataQualityTarget

      Alvo de monitoramento da regra de qualidade de dados.

      databaseType

      String

      Tipo de banco de dados do conjunto de dados da tabela.

      • MaxCompute

      • EMR

      • CDH

      • Hologres

      • AnalyticDB for PostgreSQL

      tableGuid

      String

      ID exclusivo da tabela no Data Map.

      rules

      List

      Lista de regras de qualidade de dados.

      name

      String

      Nome da regra.

      enabled

      Boolean

      Indica se a regra está ativada.

      severity

      String

      Severidade de negócio da regra, correspondente às regras fortes e fracas na página.

      • High

      • Normal

      description

      String

      Descrição da regra.

      templateCode

      String

      Modelo de regra referenciado durante a criação da regra.

      samplingConfig

      SamplingConfig

      Configurações necessárias para coleta de amostras.

      metric

      String

      Nome da métrica de amostragem.

      • Count: Número de linhas da tabela

      • Min: Valor mínimo da coluna

      • Max: Valor máximo da coluna

      • Avg: Valor médio da coluna

      • DistinctCount: Número de valores distintos na coluna

      • DistinctPercent: Proporção de valores distintos em relação ao número de linhas

      • DuplicatedCount: Número de valores duplicados na coluna

      • DuplicatedPercent: Proporção de valores duplicados em relação ao número de linhas

      • TableSize: Tamanho da tabela

      • NullValueCount: Número de linhas com valores nulos na coluna

      • NullValuePercent: Percentual de valores nulos na coluna

      • GroupCount: Número de linhas para cada valor após agregação por valor de coluna

      • CountNotIn: Número de linhas que não correspondem aos valores enumerados

      • CountDistinctNotIn: Número de valores distintos que não correspondem aos valores enumerados

      • UserDefinedSql: Coleta de amostras por meio de SQL personalizado

      checkingConfig

      CheckingConfig

      Configurações de validação de amostra.

      type

      String

      Método de cálculo de limiar.

      • Fixed

      • Fluctation

      • FluctationDiscreate

      • Auto

      • Average

      • Variance

      thresholds

      Thresholds

      Configurações de limiar.

      expected

      Threshold

      Configurações de limiar esperado.

      expression

      String

      Expressão de limiar.

      critical

      Threshold

      Configurações de limiar para alertas críticos.

    • O exemplo a seguir mostra o formato da entidade de mensagem (conteúdo do campo data na mensagem de evento) para o evento de ponto de extensão de atualização em lote de regras de qualidade de dados.

      {
          "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"
                }
              }
            }
          }
      }

      A tabela a seguir descreve os principais campos.

      Campo

      Tipo

      Descrição

      eventCode

      String

      Código do evento.

      projectId

      Long

      ID do workspace.

      tenantId

      Long

      ID do tenant.

      operator

      String

      UID do usuário.

      operationTime

      Long

      Horário da operação.

      id

      Long

      ID da regra.

      name

      String

      Nome da regra.

      enabled

      Boolean

      Indica se a regra está ativada.

      true: Ativada.

      false: Desativada.

      severity

      String

      Severidade de negócio da regra, correspondente às regras fortes e fracas na página.

      • High

      • Normal

      description

      String

      Descrição da regra.

      templateCode

      String

      Configurações de partição para tabelas particionadas.

      samplingConfig

      SamplingConfig

      Configurações necessárias para coleta de amostras.

      metric

      String

      Nome da métrica de amostragem.

      • Count: Número de linhas da tabela

      • Min: Valor mínimo da coluna

      • Max: Valor máximo da coluna

      • Avg: Valor médio da coluna

      • DistinctCount: Número de valores distintos na coluna

      • DistinctPercent: Proporção de valores distintos em relação ao número de linhas

      • DuplicatedCount: Número de valores duplicados na coluna

      • DuplicatedPercent: Proporção de valores duplicados em relação ao número de linhas

      • TableSize: Tamanho da tabela

      • NullValueCount: Número de linhas com valores nulos na coluna

      • NullValuePercent: Percentual de valores nulos na coluna

      • GroupCount: Número de linhas de dados para cada valor após agregação por valor de coluna

      • CountNotIn: Número de linhas que não correspondem aos valores enumerados

      • CountDistinctNotIn: Número de valores distintos que não correspondem aos valores enumerados

      • UserDefinedSql: Coleta de amostras por meio de SQL personalizado

      checkingConfig

      CheckingConfig

      Configurações de verificação de amostra.

      type

      String

      Método de cálculo de limiar.

      • Fixed

      • Fluctation

      • FluctationDiscreate

      • Auto

      • Average

      • Variance

      thresholds

      Thresholds

      Configurações de limiar.

      expected

      Threshold

      Configurações de limiar esperado.

      expression

      String

      Expressão de limiar.

      critical

      Threshold

      Configurações de limiar para alerta crítico.

    • O exemplo a seguir apresenta o formato do corpo da mensagem do pré-evento de exclusão em lote de regras de qualidade de dados (conteúdo do campo data na mensagem de evento).

      {
          "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
          }
      }

      A tabela a seguir descreve os principais campos.

      Nome do campo

      Tipo do campo

      Descrição

      projectId

      List

      ID do workspace do DataWorks.

      operator

      String

      UID do operador.

      operationTime

      Long

      Horário da operação.

      ids

      List

      Lista de IDs das regras de qualidade de dados excluídas.

      tenantId

      String

      ID do tenant.

      eventCode

      String

      Código do evento.

    • O exemplo abaixo ilustra o formato do corpo da mensagem do pré-evento de atualização de regra de qualidade de dados (conteúdo do campo data na mensagem de evento).

      {
          "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"
                }
              }
            }
          }
      }

      A tabela a seguir descreve os principais campos.

      Nome do campo

      Tipo do campo

      Descrição

      eventCode

      String

      Código do evento.

      projectId

      Long

      ID do workspace.

      tenantId

      Long

      ID do tenant.

      operator

      String

      UID do usuário.

      operationTime

      Long

      Horário da operação.

      id

      Long

      ID da regra.

      name

      String

      Nome da regra.

      enabled

      Boolean

      Indica se a regra está ativada.

      true: Ativada.

      false: Desativada.

      severity

      String

      Nível de severidade da regra para o negócio (correspondente às regras fortes e fracas na página).

      • High

      • Normal

      description

      String

      Descrição da regra.

      templateCode

      String

      Configurações de partição da tabela particionada.

      samplingConfig

      SamplingConfig

      Configurações necessárias para coleta de amostras.

      metric

      String

      Nome da métrica de amostragem.

      • Count: Número de linhas da tabela

      • Min: Valor mínimo da coluna

      • Max: Valor máximo da coluna

      • Avg: Valor médio da coluna

      • DistinctCount: Número de valores distintos na coluna

      • DistinctPercent: Proporção de valores distintos na coluna em relação ao número de linhas de dados

      • DuplicatedCount: Número de valores duplicados na coluna

      • DuplicatedPercent: Proporção de valores duplicados na coluna em relação ao número de linhas de dados

      • TableSize: Tamanho da tabela

      • NullValueCount: Número de linhas onde o valor da coluna é nulo

      • NullValuePercent: Percentual de linhas onde o valor da coluna é nulo

      • GroupCount: Número de linhas de dados para cada valor após agregação por valor de coluna

      • CountNotIn: Número de linhas que não correspondem aos valores enumerados

      • CountDistinctNotIn: Número de valores distintos que não correspondem aos valores enumerados

      • UserDefinedSql: Coleta de amostras por meio de SQL personalizado

      checkingConfig

      CheckingConfig

      Configurações de verificação de amostra.

      type

      String

      Método de cálculo de limiar.

      • Fixed

      • Fluctation

      • FluctationDiscreate

      • Auto

      • Average

      • Variance

      thresholds

      Thresholds

      Configurações de limiar.

      expected

      Threshold

      Configurações de limiar esperado.

      expression

      String

      Expressão de limiar.

      critical

      Threshold

      Configurações de limiar para alerta crítico.

    Pré-eventos de monitoramento de qualidade de dados (criar, atualizar, clonar e excluir em lote)

    • O exemplo a seguir exibe o formato do corpo da mensagem dos pré-eventos de criação e atualização de monitoramento de qualidade de dados (conteúdo do campo data na mensagem de evento).

      {
          "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
          }
      }

      A tabela a seguir descreve os principais campos.

      Nome do campo

      Tipo do campo

      Descrição

      eventCode

      String

      O código do evento.

      name

      String

      O nome da tarefa de monitoramento de qualidade de dados.

      description

      String

      A descrição da tarefa de avaliação de qualidade de dados.

      target

      DataQualityTarget

      O alvo de monitoramento da tarefa de avaliação de qualidade de dados.

      databaseType

      String

      O tipo de banco de dados da tabela para um conjunto de dados do tipo tabela.

      • MaxCompute

      • EMR

      • CDH

      • Hologres

      • AnalyticDB for PostgreSQL

      tableGuid

      String

      O ID exclusivo da tabela no Data Map.

      trigger

      DataQualityEvaluationTaskTrigger

      A configuração de gatilho da tarefa de avaliação de qualidade de dados.

      type

      String

      O tipo de evento capaz de acionar a tarefa de avaliação de qualidade de dados.

      • ByScheduledTaskInstance: Acionado quando uma instância agendada é executada com êxito. Esta opção tem suporte apenas em cenários de cloud pública.

      • ByManual: Acionado manualmente.

      taskIds

      Array

      Tem efeito quando type=ByScheduledTaskInstance. Especifica quais instâncias de nó agendado podem acionar a tarefa após execução bem-sucedida.

      dataSourceId

      Long

      A fonte de dados a ser usada durante a execução da tarefa de avaliação de qualidade de dados.

      runtimeConf

      String

      As configurações para uso da fonte de dados. Atualmente, há suporte apenas para especificar a fila EMR YARN e definir o mecanismo SQL como SPARK-SQL para coleta de tabelas EMR.

      rules

      List

      A lista de regras de qualidade de dados. Para obter mais informações sobre os parâmetros, consulte Data quality rule pre-event parameters.

      hooks

      Array

      As configurações de callback durante o ciclo de vida da instância da tarefa de avaliação de qualidade de dados. No momento, há suporte apenas para um hook que bloqueia instâncias de tarefas agendadas.

      type

      String

      O tipo de ação subsequente.

      BlockTaskInstance: Bloqueia a execução de uma instância de tarefa do DataWorks.

      condition

      String

      A condição de acionamento do hook.

      notifications

      Array

      As configurações de notificação.

      projectId

      Long

      O ID do workspace.

      tenantId

      Long

      O ID do tenant.

      operator

      String

      O UID do operador.

      operationTime

      Long

      O horário da operação.

    • O exemplo a seguir mostra o formato da entidade de mensagem (o conteúdo do campo data na mensagem de evento) para o evento de ponto de extensão de clonagem de tarefa de monitoramento de 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
          }
      }

      A tabela a seguir descreve os principais campos.

      Campo

      Tipo

      Descrição

      projectId

      Long

      O ID do workspace do DataWorks.

      tenantId

      String

      O ID do tenant.

      operator

      String

      O UID do operador.

      operationTime

      Long

      O horário da operação.

      targets

      List

      Os alvos de monitoramento de Data Quality para os quais as regras são clonadas.

      databaseType

      String

      O tipo de banco de dados da tabela para um conjunto de dados do tipo tabela.

      • MaxCompute

      • EMR

      • CDH

      • Hologres

      • AnalyticDB for PostgreSQL

      tableGuid

      String

      O ID exclusivo da tabela no Data Map.

      id

      Long

      O ID da regra de monitoramento de Data Quality de origem a ser clonada.

      eventCode

      String

      O código do evento.

    • O exemplo a seguir apresenta o formato da entidade de mensagem (o conteúdo do campo data na mensagem de evento) para o evento de ponto de extensão de exclusão em lote de tarefas de monitoramento de 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
          }
      }

      A tabela abaixo detalha os campos principais.

      Campo

      Tipo

      Descrição

      projectId

      Long

      O ID do workspace do DataWorks.

      operator

      String

      O UID do operador.

      operationTime

      Long

      O horário da operação.

      ids

      List

      A lista de IDs de monitoramento de Data Quality excluídos.

      tenantId

      String

      O ID do tenant.

      eventCode

      String

      O código do evento.

    Eventos de ponto de extensão de assinatura de alerta de monitoramento de Data Quality (criação, atualização e exclusão)

    • O exemplo a seguir ilustra o formato da entidade de mensagem (o conteúdo do campo data na mensagem de evento) para os eventos de ponto de extensão de criação e exclusão de assinatura de alerta de monitoramento de 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
          }
      }

      A tabela a seguir descreve os principais campos.

      Campo

      Tipo

      Descrição

      projectId

      Long

      O ID do workspace do DataWorks.

      operator

      String

      O UID do operador.

      operationTime

      Long

      O horário da operação.

      dataQualityEvaluationTaskId

      Long

      O ID de monitoramento de Data Quality.

      channel

      String

      O tipo de canal para envio de mensagens de assinatura.

      • Mail - E-mail

      • Sms - SMS

      • Phone - Chamada telefônica

      • Feishu - Feishu

      • Weixin - WeChat

      • Dingding - DingTalk

      • Webhook - Webhook personalizado

      receiverValue

      String

      O destino específico para envio das mensagens de assinatura.

      eventCode

      String

      O código do evento.

    • Este exemplo exibe o formato da entidade de mensagem (o conteúdo do campo data na mensagem de evento) para o evento de ponto de extensão de atualização de monitoramento de 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
          
      }

      A tabela a seguir lista os campos essenciais.

      Campo

      Tipo

      Descrição

      projectId

      Long

      O ID do workspace do DataWorks.

      operator

      String

      O UID do operador.

      operationTime

      Long

      O horário da operação.

      dataQualityEvaluationTaskId

      Long

      O ID de monitoramento de Data Quality.

      currentChannel

      String

      O tipo de canal do destino da mensagem de assinatura que está sendo atualizado.

      • Mail - E-mail

      • Sms - SMS

      • Phone - Chamada telefônica

      • Feishu - Feishu

      • Weixin - WeChat

      • Dingding - DingTalk

      • Webhook - Webhook personalizado

      currentReceiverValue

      String

      O destino específico da mensagem de assinatura que está sendo atualizado.

      updatedChannel

      String

      O tipo de canal do destino da mensagem de assinatura após a atualização.

      • Mail - E-mail

      • Sms - SMS

      • Phone - Chamada telefônica

      • Feishu - Feishu

      • Weixin - WeChat

      • Dingding - DingTalk

      • Webhook - Webhook personalizado

      updatedReceiverValue

      String

      O destino específico da mensagem de assinatura após a atualização.

      eventCode

      String

      O código do evento.

Instruções

  1. Leia o texto em inglês para compreender O QUE precisa ser comunicado

  2. Escreva o português brasileiro DO ZERO — esqueça a estrutura das frases em inglês

  3. Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão

  4. Copie os placeholders xref ({XREF_N}) literalmente, NÃO os traduza ou modifique

  5. Aplique todas as regras específicas de idioma rigorosamente

  6. Aplique as regras de stopwords com tolerância zero

  7. Use o modo imperativo em etapas numeradas e listas de procedimentos

  8. Garanta a consistência terminológica — o mesmo termo deve ter a mesma tradução em todo o documento

  9. Varie os inícios de frase em listas e tabelas — nenhum início deve se repetir mais de 3 vezes

  10. Retorne APENAS o documento markdown em português brasileiro, sem explicações

Eventos no nível do locatário

Os eventos gerados por módulos no nível do locatário são classificados como eventos desse nível, como eventos gerados quando um workspace é excluído no console. Utilize a lista de eventos abaixo para identificar quais são eventos padrão e quais são eventos de ponto de extensão, além de seus formatos de mensagem.

As abas de formato de mensagem a seguir contêm apenas conteúdo parcial. Para obter as mensagens completas enviadas ao EventBridge ou Function Compute, consulte Appendix: Message format.

Lista de eventos do Console

Lista de eventos

Tipo de evento

Evento (e operação de gatilho)

Evento padrão

Evento de ponto de extensão

Tipo de evento do EventBridge (Type)

Tipo de evento de extensões (eventCode)

Excluir workspace

Evento de ponto de extensão de exclusão de workspace

image

image

dataworks:ProjectChange:DeleteProject

delete-project

Evento pós-exclusão de workspace

image

image

dataworks:ProjectChange:ProjectDeleted

project-deleted

Formato da mensagem

Formato da entidade de mensagem: Eventos de exclusão de workspace

  • O exemplo a seguir mostra o formato da entidade de mensagem (o conteúdo do campo data na mensagem de evento) para o evento de ponto de extensão de exclusão de workspace do locatário.

    {
     
      "data": {
        "eventCode": "delete-project",
        "projectId": 7***7, // Workspace ID
        "tenantId": 2807****0784, // Tenant ID
        "operator": "19***735
    }

    A tabela a seguir descreve os campos:

    Campo

    Tipo

    Descrição

    operator

    String

    UID do usuário que excluiu o workspace do DataWorks.

    projectId

    Long

    ID do workspace do DataWorks a ser excluído.

    tenantId

    Long

    ID do locatário do workspace a ser excluído.

    eventCode

    String

    Código de evento de extensões.

  • O exemplo a seguir apresenta o formato do corpo da mensagem (o conteúdo do campo data na mensagem de evento) do evento posterior à exclusão do workspace do locatário.

    {
        
        "data": {
            "eventCode": "project-deleted",
            "tenantId": 28***656,
            "blockBusiness": false,
            "projectName": "test2",
            "projectId": 9***4,
            "operator": "19***735",
            "timestamp": 1702260556896
       } 
    }

    Os campos são descritos da seguinte forma:

    Campo

    Tipo

    Descrição

    operator

    String

    UID do usuário que excluiu o workspace do DataWorks.

    projectId

    Long

    ID do workspace do DataWorks a ser excluído.

    projectName

    String

    Nome do workspace do DataWorks a ser excluído.

    tenantId

    Long

    ID do locatário ao qual o workspace a ser excluído pertence.

    timestamp

    Long

    Timestamp de envio da mensagem.

    eventCode

    String

    Código de evento de extensões.

Lista de eventos de Upload e Download de Dados

Lista de eventos

Tipo de evento

Evento (e operação de gatilho)

Evento padrão

Evento de ponto de extensão

Tipo de evento do EventBridge (Type)

Código de evento de extensão (eventCode)

Download e upload de dados

Pré-evento para download de dados - geração de arquivo

image

image

dataworks:ResourcesDownload:DownloadResources

download-resources

Pré-evento para download de dados - download de arquivo

image

image

dataworks:ResourcesDownload:DownloadResourcesExecute

download-resources-execute

Pré-evento para upload de dados

image

image

dataworks:ResourcesUpload:UploadDataToTable

upload-data-to-table

Formato da mensagem

Download e upload de dados

  • O exemplo a seguir exibe o formato do corpo da mensagem (o conteúdo do campo data na mensagem de evento) do pré-evento para download de dados - geração de arquivo.

    { 
        "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",
        }

    Os campos são descritos da seguinte forma:

    Campo

    Tipo

    Descrição

    moduleType

    String

    Origem dos dados baixados:

    • entity_transfer: Dados baixados de .

    • develop_query: Dados consultados e baixados usando instruções SQL no Data Studio.

    • sqlx_query: Dados consultados e baixados usando instruções SQL em .

    • dw_excel: Dados baixados de .

    operatorBaseId

    String

    BaseID do usuário que executou a operação de download.

    operatorUid

    String

    UID do usuário que executou a operação de download.

    fileName

    String

    Nome do arquivo baixado.

    fileSize

    Long

    Tamanho do arquivo baixado.

    datasourceId

    String

    ID da fonte de dados à qual os dados baixados pertencem.

    datasourceName

    String

    Nome da fonte de dados à qual os dados baixados pertencem.

    queryDwProjectId

    String

    ID do workspace do DataWorks ao qual os dados baixados pertencem.

    queryDwProjectName

    String

    Identificador do workspace do DataWorks ao qual os dados baixados pertencem.

    dataRowSize

    Long

    Número de linhas de dados baixadas.

    sqlText

    String

    Código SQL usado para consultar e baixar dados.

    eventCode

    String

    Tipo de evento de extensões.

  • Este exemplo ilustra o formato do corpo da mensagem (o conteúdo do campo data na mensagem de evento) do pré-evento para download de dados - download de arquivo.

    {
      "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"
    }

    A tabela a seguir descreve os principais campos.

    Campo

    Tipo

    Descrição

    moduleType

    String

    Origem dos dados baixados:

    • entity_transfer: Dados baixados de .

    • develop_query: Dados consultados e baixados usando instruções SQL no Data Studio.

    • sqlx_query: Dados consultados e baixados usando instruções SQL em .

    • dw_excel: Dados baixados de .

    operatorBaseId

    String

    BaseID do usuário que executou a operação de download.

    operatorUid

    String

    UID do usuário que executou a operação de download.

    fileName

    String

    Nome do arquivo baixado.

    fileSize

    Long

    Tamanho do arquivo baixado.

    datasourceId

    String

    ID da fonte de dados à qual os dados baixados pertencem.

    datasourceName

    String

    Nome da fonte de dados à qual os dados baixados pertencem.

    queryDwProjectId

    String

    ID do workspace do DataWorks ao qual os dados baixados pertencem.

    queryDwProjectName

    String

    Identificador do workspace do DataWorks ao qual os dados baixados pertencem.

    dataRowSize

    Long

    Número de linhas de dados baixadas.

    sqlText

    String

    Código SQL usado para consultar e baixar dados.

    ip

    String

    Endereço IP do usuário que executou a operação de download.

    eventCode

    String

    Tipo de evento de extensões.

  • Veja abaixo o formato do corpo da mensagem (o conteúdo do campo data na mensagem de evento) do pré-evento para upload de dados.

    {
      "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"
    }

    Os campos são descritos da seguinte forma:

    Campo

    Tipo

    Descrição

    uploadSourceType

    String

    Origem dos dados carregados:

    • LOCAL: Upload de dados de um arquivo local.

    • OSS: Upload de dados de um arquivo do OSS.

    • DW_EXCEL: Upload de dados de no DataWorks.

    • HTTP: Upload de dados de um arquivo HTTP.

    optTableType

    String

    Define se os dados serão carregados em uma tabela existente ou nova na fonte de dados do mecanismo especificado. Valores válidos:

    • CREATE: Carrega dados em uma nova tabela.

    • IMPORT: Carrega dados em uma tabela existente.

    targetEngineType

    String

    Tipo de mecanismo para o qual os dados são carregados. Valores válidos:

    • MaxCompute

    • EMR Hive

    • Hologres

    writeType

    String

    Método utilizado para gravar dados na tabela de destino. Valores válidos:

    • OVERWRITE: Sobrescreve os dados existentes na tabela.

    • APPEND: Anexa os dados carregados à tabela de destino.

    conflictMode

    String

    Política de resolução de conflitos de chave primária para upload de dados:

    • IGNORE: Se houver conflito de chave primária, os dados carregados serão ignorados.

    • REPLACE: Em caso de conflito de chave primária, a linha conflitante é excluída primeiro e, em seguida, os dados carregados são inseridos nessa linha. Colunas não especificadas nos dados carregados são definidas como NULL.

    • UPDATE: Os dados carregados sobrescrevem os dados originais da tabela. Apenas as colunas especificadas nos dados carregados são sobrescritas; as colunas não especificadas permanecem inalteradas.

    operatorBaseId

    String

    BaseID do usuário que executou a operação de upload.

    operatorUid

    String

    UID do usuário que executou a operação de upload.

    datasourceId

    String

    ID da fonte de dados para a qual os dados são carregados.

    datasourceName

    String

    Nome da fonte de dados para a qual os dados são carregados.

    tableGuid

    String

    GUID da tabela. Exemplos:

    • MaxCompute: odps.maxcomputeProject.tableName.

    • EMR_Hive: emr_hive.emrClusterId.schema.tableName.

    • Holo: holo.hologresInstanceId.database.

    queryDwProjectId

    String

    ID do workspace do DataWorks ao qual a tabela pertence.

    queryDwProjectName

    String

    Nome do workspace do DataWorks ao qual a tabela pertence.

    fileSize

    Long

    Tamanho do arquivo carregado, em bytes.

    eventCode

    String

    Código de evento de extensões.

Apêndice: Formato da mensagem

Formato de mensagem para EventBridge

Após configurar Open Event e adicionar um canal de distribuição de eventos, quando um evento no nível do workspace ou nível do locatário for acionado no DataWorks, o evento será filtrado com base no tipo de evento (Type) configurado no EventBridge. Abaixo está o formato da mensagem que o DataWorks envia ao EventBridge por meio do canal de distribuição de eventos.

{ 
 "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"
}

Uma mensagem de evento completa inclui o corpo da mensagem e informações básicas, como ID da mensagem, origem e hora de geração. A tabela a seguir descreve os campos importantes.

Campo

Tipo

Descrição

data

object

Corpo da mensagem. O formato da mensagem e o significado dos campos variam conforme o tipo de evento. Para mais informações, consulte:

Formato de mensagem de evento do Data Studio: Data Studio event list.

Formato de mensagem de evento do Data Integration: Data Integration event list.

Formato de mensagem de evento do Operation Center: Operation Center event list.

Formato de mensagem de evento do Security Center: Security Center event list.

Formato de mensagem de evento do Data Quality: Data Quality event list.

id

String

ID exclusivo da mensagem de evento. Este campo serve para localizar a mensagem de evento.

type

String

Tipo de evento. Este campo descreve o tipo de evento relacionado à origem do evento. Exemplos:

  • dataworks:FileChange:CommitFile: Indica que um arquivo foi enviado.

  • dataworks:FileChange:DeployFile: Indica que um arquivo foi implantado.

Use este tipo de evento para filtrar todas as mensagens enviadas pelo DataWorks no console do EventBridge. O valor de Type varia para cada evento. Consulte as seções anteriores para ver os diferentes tipos de mensagens de evento.

Formato de mensagem para Function Compute

Ao configurar Extensions com o método Function Compute no DataWorks, o sistema envia mensagens de evento em formato JSON para o Function Compute quando o evento de ponto de extensão correspondente é acionado. Abaixo está o formato da mensagem enviada ao Function Compute.

Instruções

  1. Leia o texto em inglês para entender O QUE precisa ser comunicado

  2. Escreva o português brasileiro DO ZERO — esqueça a estrutura das frases em inglês

  3. Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão

  4. Copie os placeholders xref ({XREF_N}) literalmente, NÃO os traduza ou modifique

  5. Aplique todas as regras específicas de idioma rigorosamente

  6. Aplique as regras de stopwords com tolerância zero

  7. Use o modo imperativo em etapas numeradas e listas de procedimentos

  8. Garanta a consistência terminológica — o mesmo termo deve ter a mesma tradução em todo o documento

  9. Varie os inícios de frase em listas/tabelas — nenhum iniciador deve se repetir mais de 3 vezes

  10. Retorne APENAS o documento markdown em português brasileiro, sem explicações

    {
    	"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.
    }

A tabela a seguir descreve os campos importantes.

Campo

Tipo

Descrição

messageId

String

ID do evento. Valor único que identifica o evento.

messageBody

Mensagem específica do evento enviada pelo DataWorks. Utilize este campo ao desenvolver Extensions. O conteúdo varia conforme o tipo de mensagem.

tenantId

ID do tenant. Cada conta Alibaba Cloud corresponde a um tenant no DataWorks, e cada tenant possui seu próprio ID. Visualize esse valor nas informações do usuário, no canto superior direito do Data Studio no DataWorks.

eventCode

Código do evento. Este campo identifica um tipo específico de mensagem de evento. Para consultar o eventCode de cada tipo de evento, consulte a coluna Código de evento da Extension (eventCode) na tabela event list.