Todos os produtos
Search
Central de documentação

DataWorks:GetDataQualityEvaluationTaskInstance

Última atualização: Oct 28, 2026

Obtém os detalhes de uma instância de tarefa de verificação de qualidade de dados.

Nota

Esta API foi descontinuada. Recomendamos migrar para dataworks-public(2024-05-18) - GetDataQualityScanRun para funcionalidade aprimorada e suporte contínuo. Embora a API descontinuada permaneça temporariamente acessível, nenhuma atualização ou correção de bugs será fornecida.

Descrição da operação

É necessária a edição Basic do DataWorks ou uma edição superior.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

dataworks:*

get

*All resources.

*

Nenhuma Nenhuma

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

Id

integer

Sim

O ID da instância de monitoramento de qualidade de dados.

7227550902

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

Esquema da resposta.

RequestId

string

O ID da solicitação. Você pode usar este ID para localizar logs e solucionar problemas.

8abcb91f-d266-4073-b907-2ed67****

DataQualityEvaluationTaskInstance

object

Os detalhes da instância da tarefa de avaliação de qualidade de dados.

Status

string

O status da instância de monitoramento de qualidade de dados. Valores válidos:

  • Running: A verificação está em andamento.

  • Error: Ocorreu um erro ao verificar uma regra.

  • Passed: Todas as verificações de regras foram aprovadas.

  • Warned: Uma regra acionou o limite de alerta de aviso.

  • Critical: Uma regra acionou o limite de alerta crítico.

Passed

Task

object

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

Name

string

O nome da tarefa de avaliação de qualidade de dados.

Data quality OpenAPI monitoring test

Notifications

object

As configurações de notificação.

Condition

string

A condição para acionar uma notificação. Quando essa condição é atendida, uma notificação de mensagem é acionada. Atualmente, apenas dois tipos de expressões condicionais são suportados:

  • Especifique apenas um conjunto de gravidade da regra e status de verificação da regra, como ${severity} == "High" AND ${status} == "Critical". Isso significa que, entre as regras executadas, se uma regra com gravidade Alta tiver um resultado de verificação Crítico, a condição será atendida.

  • Especifique vários conjuntos de gravidade da regra e status de verificação da regra, como (${severity} == "High" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Error"). Isso significa que, entre as regras executadas, se uma regra com gravidade Alta tiver um resultado de verificação Crítico, ou uma regra com gravidade Normal tiver um resultado de verificação Crítico, ou uma regra com gravidade Normal tiver um resultado de verificação de Erro, a condição será atendida. Os valores válidos para gravidade na expressão condicional são os mesmos que em DataQualityRule, e os valores válidos para status são os mesmos que em DataQualityResult.

${severity} == "High" AND ${status} == "Critical"

Notifications

array<object>

Os métodos de notificação.

array<object>

NotificationReceivers

array<object>

Os valores dos destinatários da notificação.

object

ReceiverType

string

O tipo do destinatário do alerta.

DingdingUrl

Extension

string

As configurações de parâmetros adicionais no formato JSON quando um alerta é enviado. Chaves suportadas:

  • atAll: Especifica se deve usar @all no grupo do DingTalk quando um alerta do DingTalk for enviado. Este parâmetro só entra em vigor quando ReceiverType está definido como DingdingUrl.

{ "atAll": true }

ReceiverValues

array

Os destinatários do alerta.

string

O valor do destinatário.

  • Se o tipo de destinatário for Alibaba Cloud ID, o valor é o ID de usuário específico do Alibaba Cloud.

  • Se o tipo de destinatário for DingdingUrl, o valor é a URL do webhook do chatbot específico do DingTalk.

  • Se o tipo de destinatário for WeixinUrl, o valor é a URL do webhook do chatbot específico do WeCom.

  • Se o tipo de destinatário for FeishuUrl, o valor é a URL do webhook do chatbot específico do Lark.

  • Se o tipo de destinatário for WebhookUrl, o valor é a URL do webhook personalizado específico.

https://api.fc.aliyuncs.com/webhook

NotificationChannels

array<object>

Os canais de notificação.

object

Channels

array

Os canais de notificação.

string

Os métodos de alerta. Valores válidos:

  • Mail: E-mail.

  • Sms: Mensagem de texto.

  • Phone: Chamada telefônica.

  • Feishu: Lark.

  • Weixin: WeChat.

  • Dingding: DingTalk.

  • Webhook: Webhook personalizado.

Mail

Hooks

array<object>

As configurações de hook.

object

Type

string

O tipo de hook. Atualmente, apenas um tipo é suportado:

  • BlockTaskInstance: Bloqueia a continuação da execução da tarefa de agendamento. Se a tarefa de avaliação de qualidade de dados for acionada por uma tarefa de agendamento, o sistema determina se deve bloquear a tarefa de agendamento com base em Hook.Condition após a conclusão da tarefa de avaliação de qualidade de dados.

BlockTaskInstance

Condition

string

A condição para acionar o hook. Quando essa condição é atendida, a ação do hook é acionada. Atualmente, apenas dois tipos de expressões condicionais são suportados:

  • Especifique apenas um conjunto de gravidade da regra e status de verificação da regra, como ${severity} == "High" AND ${status} == "Critical". Isso significa que, entre as regras executadas, se uma regra com gravidade Alta tiver um resultado de verificação Crítico, a condição será atendida.

  • Especifique vários conjuntos de gravidade da regra e status de verificação da regra, como (${severity} == "High" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Error"). Isso significa que, entre as regras executadas, se uma regra com gravidade Alta tiver um resultado de verificação Crítico, ou uma regra com gravidade Normal tiver um resultado de verificação Crítico, ou uma regra com gravidade Normal tiver um resultado de verificação de Erro, a condição será atendida. Os valores válidos para gravidade na expressão condicional são os mesmos que em DataQualityRule, e os valores válidos para status são os mesmos que em DataQualityResult.

(${severity} == "High" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Error")

RuntimeConf

string

A configuração de extensão, uma string de caracteres formatada em JSON, entra em vigor apenas para o monitoramento de qualidade de dados do EMR.

  • queue: A fila do YARN usada ao executar a validação de dados do EMR. O valor padrão é a fila configurada para o projeto atual.

  • sqlEngine: O mecanismo SQL usado ao executar a validação de dados do EMR. Valores válidos:
    • HIVE_SQL

    • SPARK_SQL

{ "queue": "default" }

Trigger

object

As configurações de gatilho da tarefa de avaliação de qualidade de dados.

Type

string

O tipo de gatilho da tarefa de avaliação de qualidade de dados. Valores válidos:

  • ByManual: Gatilho manual. Este é o valor padrão.

  • ByScheduledTaskInstance: Acionado por uma tarefa de agendamento associada.

ByScheduledTaskInstance

TaskIds

array

A lista de IDs de tarefas de agendamento. Este parâmetro só entra em vigor quando Type está definido como ByScheduledTaskInstance.

integer

O ID da tarefa de agendamento.

70006236752324

Target

object

O objeto monitorado da tarefa de avaliação de qualidade de dados. Para obter mais informações, consulte o exemplo DataQualityTarget e DataQualityTarget.

Type

string

O tipo de objeto monitorado. Valores válidos:

  • Table: Tabela.

Table

DatabaseType

string

O tipo de banco de dados ao qual a tabela pertence.

maxcompute

TableGuid

string

O ID exclusivo da tabela no DataWorks Data Map.

odps.api_trace.ods_d_api_log

PartitionSpec

string

O intervalo de partição a ser monitorado.

pt=$[yyyymmdd-1]

Description

string

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

OpenAPI quality monitoring test

Id

integer

O ID da tarefa de avaliação de qualidade de dados.

28544990

ProjectId

integer

O ID do espaço de trabalho.

20629

Parameters

string

Os parâmetros de execução da tarefa de avaliação de qualidade de dados no formato JSON. Chaves disponíveis:

  • triggerTime: O carimbo de data/hora em milissegundos do horário do gatilho. Este é o horário base para a expressão $[yyyymmdd] no intervalo de dados da tarefa de avaliação de qualidade de dados. Este parâmetro é obrigatório.

{ "triggerTime": 1733284062000 }

FinishTime

integer

A hora de término da execução da instância.

O valor é um número de 13 dígitos, como 1716344665000.

1716344665000

TriggerContext

string

As informações de contexto quando a instância é acionada, no formato JSON. Chaves possíveis:

  • TriggerClient: A origem do gatilho da instância da tarefa de avaliação de qualidade de dados, como CWF2 (sistema de agendamento). Mais origens podem ser adicionadas no futuro.

  • TriggerClientId: O recurso de negócios específico no sistema de origem. Por exemplo, se TriggerClient for CWF2, este parâmetro registra o ID da tarefa de agendamento.

{ "triggerClient": "CWF2", "triggerClientId": 70001238945 }

CreateTime

integer

A hora de criação.

O valor é um número de 13 dígitos, como 1716344665000.

1716344665000

Id

integer

O ID da instância do monitoramento de qualidade de dados.

7234231689

ProjectId

integer

O ID do espaço de trabalho.

98330

Results

array<object>

A lista de resultados da avaliação de qualidade de dados.

array<object>

Id

integer

O ID do resultado da avaliação.

10001

Status

string

O status do resultado da avaliação.

Passed

CreateTime

integer

A hora de geração do resultado da avaliação.

O valor é um número de 13 dígitos, como 1708284916414.

1708284916414

TaskInstanceId

integer

O ID da instância da tarefa de verificação de qualidade de dados.

20001

Sample

string

O valor da amostra usado para esta avaliação.

[ { "gender": "male", "_count": 100 }, { "gender": "female", "_count": 100 } ]

Details

array<object>

Os detalhes desta avaliação.

object

ReferencedValue

string

O valor da amostra referenciado usado como linha de base para calcular o CheckedValue.

0.0

CheckedValue

string

O valor final usado para comparar com o limite.

100.0

Status

string

O status do resultado da comparação final.

Passed

Rule

object

O snapshot da configuração da regra no início da avaliação.

Id

integer

O ID globalmente exclusivo da regra.

100001

Name

string

O nome da regra. O nome pode conter dígitos, letras, caracteres chineses e sinais de pontuação de meia largura ou largura total. Pode ter até 255 caracteres de comprimento.

Table cannot be empty

ProjectId

integer

O ID do espaço de trabalho do DataWorks.

100

Enabled

boolean

Especifica se a regra está ativada.

Severity

string

O nível de gravidade da regra para o negócio, que corresponde às regras fortes e fracas na página.

High

Description

string

A descrição da regra. Pode ter até 500 caracteres de comprimento.

this is a odps _sql task

TemplateCode

string

O modelo de regra referenciado quando a regra é criada.

SYSTEM:user_defined_sql

Target

object

O objeto monitorado pela regra.

Type

string

O tipo de objeto monitorado. Valores válidos:

  • Table

Table

DatabaseType

string

O tipo de banco de dados ao qual o conjunto de dados da tabela pertence. Valores válidos:

  • maxcompute

  • emr

  • cdh

  • hologres

  • analyticdb_for_postgresql

  • analyticdb_for_mysql

  • starrocks

maxcompute

TableGuid

string

O ID exclusivo da tabela no DataWorks Data Map.

odps.unit_test.tb_unit_test

SamplingConfig

object

As configurações necessárias para a coleta de amostras.

Metric

string

O nome da métrica de amostragem. Valores válidos:

  • Count: O número de linhas na tabela.

  • Min: O valor mínimo da coluna.

  • Max: O valor máximo da coluna.

  • Avg: O valor médio da coluna.

  • DistinctCount: O número de valores exclusivos na coluna.

  • DistinctPercent: A proporção do número de valores exclusivos na coluna em relação ao número de linhas de dados.

  • DuplicatedCount: O número de valores duplicados na coluna.

  • DuplicatedPercent: A proporção do número de valores duplicados na coluna em relação ao número de linhas de dados.

  • TableSize: O tamanho da tabela.

  • NullValueCount: O número de linhas em que a coluna é nula.

  • NullValuePercent: A proporção de linhas em que a coluna é nula.

  • GroupCount: O número de linhas de dados correspondentes a cada valor após a agregação pelo valor da coluna.

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

  • CountDistinctNotIn: O número de valores exclusivos que não correspondem aos valores enumerados.

  • UserDefinedSql: Coleta de amostras usando instruções SQL personalizadas.

Min

MetricParameters

string

Os parâmetros necessários para a coleta de amostras.

{ "Columns": [ "id", "name" ] }

SettingConfig

string

As instruções de configuração de parâmetros de tempo de execução inseridas antes da execução das instruções de amostragem. Pode ter até 1.000 caracteres de comprimento. Atualmente, apenas o MaxCompute é suportado.

SET odps.sql.udf.timeout=600s;

SamplingFilter

string

A condição para filtragem secundária de dados não relevantes durante a amostragem. Pode ter até 16.777.215 caracteres de comprimento.

id IS NULL

CheckingConfig

object

As configurações de verificação de amostra.

Type

string

O método de cálculo de limite. Valores válidos:

  • Fixed

  • Fluctation

  • FluctationDiscreate

  • Auto

  • Average

  • Variance

Fixed

ReferencedSamplesFilter

string

A expressão que representa o método de consulta para amostras de referência. Alguns tipos de limites exigem a consulta de amostras de referência e a agregação de seus valores para obter o limite para comparação.

{ "bizdate": [ "-1", "-7", "-1m" ] }

Thresholds

object

As configurações de limite.

Expected

object

As configurações de limite esperado.

Value

string

O valor do limite.

100.0

Operator

string

O operador de comparação. Valores válidos:

  • >

  • >=

  • <

  • <=

  • !=

  • =

>

Expression

string

A expressão de limite.

$checkValue > 0.01

Warned

object

As configurações de limite para alertas de aviso.

Value

string

O valor do limite.

100.0

Operator

string

O operador de comparação. Valores válidos:

  • >

  • >=

  • <

  • <=

  • !=

  • =

>

Expression

string

A expressão de limite.

$checkValue > 0.01

Critical

object

As configurações de limite para alertas críticos.

Value

string

O valor do limite.

100.0

Operator

string

O operador de comparação. Valores válidos:

  • >

  • >=

  • <

  • <=

  • !=

  • =

>

Expression

string

A expressão de verificação.

$checkValue > 0.01

ErrorHandlers

array<object>

Os manipuladores de erro para problemas de verificação de regras de qualidade.

object

Type

string

O tipo de manipulador.

SaveErrorData

ErrorDataFilter

string

A instrução SQL usada para filtrar dados problemáticos para regras SQL personalizadas.

SELECT * FROM tb_api_log WHERE id IS NULL

Exemplos

Resposta de sucesso

JSON formato

{
  "RequestId": "8abcb91f-d266-4073-b907-2ed67****",
  "DataQualityEvaluationTaskInstance": {
    "Status": "Passed",
    "Task": {
      "Name": "Data quality OpenAPI monitoring test\n",
      "Notifications": {
        "Condition": "${severity} == \"High\" AND ${status} == \"Critical\"",
        "Notifications": [
          {
            "NotificationReceivers": [
              {
                "ReceiverType": "DingdingUrl",
                "Extension": "{ \"atAll\": true }",
                "ReceiverValues": [
                  "https://api.fc.aliyuncs.com/webhook"
                ]
              }
            ],
            "NotificationChannels": [
              {
                "Channels": [
                  "Mail"
                ]
              }
            ]
          }
        ]
      },
      "Hooks": [
        {
          "Type": "BlockTaskInstance",
          "Condition": "(${severity} == \"High\" AND ${status} == \"Critical\") OR (${severity} == \"Normal\" AND ${status} == \"Critical\") OR (${severity} == \"Normal\" AND ${status} == \"Error\")"
        }
      ],
      "RuntimeConf": "{ \"queue\": \"default\" }",
      "Trigger": {
        "Type": "ByScheduledTaskInstance",
        "TaskIds": [
          70006236752324
        ]
      },
      "Target": {
        "Type": "Table",
        "DatabaseType": "maxcompute",
        "TableGuid": "odps.api_trace.ods_d_api_log",
        "PartitionSpec": "pt=$[yyyymmdd-1]"
      },
      "Description": "OpenAPI quality monitoring test",
      "Id": 28544990,
      "ProjectId": 20629
    },
    "Parameters": "{ \"triggerTime\": 1733284062000 }\n",
    "FinishTime": 1716344665000,
    "TriggerContext": "{ \"triggerClient\": \"CWF2\", \"triggerClientId\": 70001238945 }",
    "CreateTime": 1716344665000,
    "Id": 7234231689,
    "ProjectId": 98330,
    "Results": [
      {
        "Id": 10001,
        "Status": "Passed",
        "CreateTime": 1708284916414,
        "TaskInstanceId": 20001,
        "Sample": "[   {     \"gender\": \"male\",     \"_count\": 100   }, {     \"gender\": \"female\",     \"_count\": 100   } ]",
        "Details": [
          {
            "ReferencedValue": "0.0",
            "CheckedValue": "100.0",
            "Status": "Passed"
          }
        ],
        "Rule": {
          "Id": 100001,
          "Name": "表不能为空",
          "ProjectId": 100,
          "Enabled": false,
          "Severity": "High",
          "Description": "this is a odps _sql task",
          "TemplateCode": "SYSTEM:user_defined_sql",
          "Target": {
            "Type": "Table",
            "DatabaseType": "maxcompute",
            "TableGuid": "odps.unit_test.tb_unit_test"
          },
          "SamplingConfig": {
            "Metric": "Min",
            "MetricParameters": "{ \"Columns\": [ \"id\", \"name\" ] }",
            "SettingConfig": "SET odps.sql.udf.timeout=600s;",
            "SamplingFilter": "id IS NULL"
          },
          "CheckingConfig": {
            "Type": "Fixed",
            "ReferencedSamplesFilter": "{ \"bizdate\": [ \"-1\", \"-7\", \"-1m\" ] }",
            "Thresholds": {
              "Expected": {
                "Value": "100.0",
                "Operator": ">",
                "Expression": "$checkValue > 0.01"
              },
              "Warned": {
                "Value": "100.0",
                "Operator": ">",
                "Expression": "$checkValue > 0.01"
              },
              "Critical": {
                "Value": "100.0",
                "Operator": ">",
                "Expression": "$checkValue > 0.01"
              }
            }
          },
          "ErrorHandlers": [
            {
              "Type": "SaveErrorData",
              "ErrorDataFilter": "SELECT * FROM tb_api_log WHERE id IS NULL"
            }
          ]
        }
      }
    ]
  }
}

Códigos de erro

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.