更新时间:2024-11-22 GMT+08:00

获取质量作业详情

功能介绍

获取质量作业详情

调用方法

请参见如何调用API

URI

GET /v2/{project_id}/quality/quality-tasks/{id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方法请参见项目ID和账号ID

id

String

质量作业ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

workspace

String

DataArts Studio工作空间ID,获取方法请参见实例ID和工作空间ID

X-Auth-Token

String

IAM Token,Token获取请参见认证鉴权

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

id

Long

作业ID。

name

String

作业名称。

description

String

作业描述。

category_id

Long

所属目录ID。

level

String

告警级别,SUGGEST表示提示,MINOR表示一般,MAJOR表示严重,FATAL表示致命。

alarm_condition

String

统一告警条件。

alarm_notify

Boolean

是否开启通知告警。

alarm_notify_type

String

告警通知类型,TRIGGER_ALARM表示触发告警,RUN_SUCCESS表示运行成功,TRIGGER_ALARM_AND_RUNNING_SUCCESS表示触发告警和运行成功。

alarm_notify_topic

String

通知主题名。

schedule_type

String

调度类型,ONCE表示单次调度,PERIODIC表示周期性调度。

schedule_start_date

String

调度开始日期。

schedule_end_date

String

调度结束日期。

schedule_period

String

调度周期,MINUTE表示按分钟调度,HOUR表示按小时调度,DAY表示按天调度,WEEK表示按周调度。

schedule_interval

String

调度间隔,当调度周期为分钟、小时、天时,间隔时间为数字,而当调度周期为周时,调度间隔为星期的英文,如:每周一、周二调度时,schedule_interval为"MONDAY,TUESDAY"。

schedule_start_time

String

调度开始时间。

schedule_end_time

String

调度结束时间。

create_time

Long

最近运行时间,13位时间戳(精确到毫秒)。

last_run_time

Long

最近运行时间,13位时间戳(精确到毫秒)。

sub_rules

Array of QualityTaskRuleDetailForOpenApi objects

子规则。

schedule_cron

String

调度cron表达式。

表4 QualityTaskRuleDetailForOpenApi

参数

参数类型

描述

id

Long

子规则ID。

sub_rule_name

String

子规则名称。

type

String

规则类型,SingleDatabase表示库级规则,SingleTable表示表级规则,SingleColumn表示字段级规则,CrossColumn表示跨字段规则,Customize表示自定义规则。

template_id

Long

规则模板ID。

connection

String

数据连接ID。

connection_type

String

数据连接类型。

databases

String

数据库名,当存在多个值时以逗号分隔。

sql

String

自定义规则中的SQL脚本,系统内置规则时返回。

tables

String

表名,当存在多个值时以逗号分隔。

reference_tables

String

跨字段规则中的参考表名,当存在多个值时以逗号分隔。

columns

String

字段名,当存在多个值时以逗号分隔。

reference_columns

String

跨字段规则中的参考字段名,当存在多个值时以逗号分隔。

ignore_error

Boolean

是否忽视规则错误。

dimension

String

维度,Completeness表示完整性,Uniqueness表示唯一性,Timeliness表示及时性,Validity表示有效性,Accuracy表示准确性,Consistency表示一致性。

queue

String

DLI队列。

regular_expression

String

当规则模板为正则表达式校验时的正则表达式。

template_arguments

String

模板参数。

weight

Integer

规则权重。

calculation_range

String

计算范围。

calculation_range_sql

String

计算范围SQL。

alarm_condition

String

告警表达式。

export_abnormal_table

Boolean

是否导出异常数据。

abnormal_table_database

String

异常表数据库。

abnormal_table_schema

String

异常表Schema。

abnormal_table

String

异常字段所在的表。

abnormal_table_prefix

String

异常表前缀。

abnormal_table_suffix

String

异常表后缀。

abnormal_table_columns

String

异常字段名,当存在多个值时以逗号分隔。

abnormal_table_sql

String

异常表SQL。

abnormal_table_out_config

Boolean

异常表是否输出规则配置。

abnormal_table_include_null_value

Boolean

异常表是否包含空值。

abnormal_table_out_data_number

Integer

异常表输出行数,0代表全量输出。

score_switch

Boolean

是否开启质量评分。

score_schema

String

质量评分表所在schema。

score_table

String

质量评分表名。

score_expression

String

质量评分表达式。

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error_code

String

错误码,如DQC.0000表示请求处理成功。

error_msg

String

错误信息。

状态码: 500

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码,如DQC.0000表示请求处理成功。

error_msg

String

错误信息。

请求示例

响应示例

状态码: 200

Success 返回的是 InstanceVO。

{
  "id" : 1012385458115825700,
  "name" : "test",
  "description" : "",
  "level" : "SUGGEST",
  "alarm_condition" : "",
  "alarm_notify" : false,
  "alarm_notify_type" : null,
  "alarm_notify_topic" : "",
  "schedule_type" : "ONCE",
  "schedule_start_date" : null,
  "schedule_end_date" : null,
  "schedule_period" : null,
  "schedule_interval" : null,
  "schedule_start_time" : null,
  "schedule_end_time" : null,
  "category_id" : 1012384968858652700,
  "create_time" : 1661413102000,
  "last_run_time" : 1661413281000,
  "sub_rules" : [ {
    "id" : 1012385458417815600,
    "sub_rule_name" : "qwe",
    "type" : "SingleTable",
    "connection" : "43b9e6315eda4918970cfcbbbfb74cb1",
    "connection_type" : "DWS",
    "databases" : "1_database",
    "sql" : "select count(1) from 1_database.dqc_test2 where 1=1",
    "tables" : "1_database.dqc_test2",
    "reference_tables" : null,
    "columns" : "",
    "reference_columns" : null,
    "ignore_error" : false,
    "dimension" : "Accuracy",
    "queue" : "dlf_notdelete",
    "regular_expression" : null,
    "template_arguments" : "",
    "weight" : 5,
    "calculation_range" : "FULL_SCAN",
    "calculation_range_sql" : null,
    "alarm_condition" : "${1}<0",
    "export_abnormal_table" : false,
    "abnormal_table_database" : null,
    "abnormal_table_schema" : null,
    "abnormal_table" : "",
    "abnormal_table_prefix" : null,
    "abnormal_table_suffix" : null,
    "abnormal_table_columns" : null,
    "abnormal_table_sql" : "",
    "abnormal_table_out_config" : false,
    "abnormal_table_include_null_value" : false,
    "abnormal_table_out_data_number" : 0,
    "score_switch" : false,
    "score_schema" : null,
    "score_table" : null,
    "score_expression" : "",
    "template_id" : 1
  } ],
  "schedule_cron" : ""
}

SDK代码示例

SDK代码示例如下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.dataartsstudio.v1.region.DataArtsStudioRegion;
import com.huaweicloud.sdk.dataartsstudio.v1.*;
import com.huaweicloud.sdk.dataartsstudio.v1.model.*;


public class ShowQualityTaskDetailSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        DataArtsStudioClient client = DataArtsStudioClient.newBuilder()
                .withCredential(auth)
                .withRegion(DataArtsStudioRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowQualityTaskDetailRequest request = new ShowQualityTaskDetailRequest();
        request.withId("{id}");
        try {
            ShowQualityTaskDetailResponse response = client.showQualityTaskDetail(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkdataartsstudio.v1.region.dataartsstudio_region import DataArtsStudioRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkdataartsstudio.v1 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = DataArtsStudioClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(DataArtsStudioRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ShowQualityTaskDetailRequest()
        request.id = "{id}"
        response = client.show_quality_task_detail(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    dataartsstudio "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dataartsstudio/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dataartsstudio/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dataartsstudio/v1/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := dataartsstudio.NewDataArtsStudioClient(
        dataartsstudio.DataArtsStudioClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ShowQualityTaskDetailRequest{}
	request.Id = "{id}"
	response, err := client.ShowQualityTaskDetail(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

Success 返回的是 InstanceVO。

400

BadRequest

500

INTERNAL SERVER ERROR