全部產品
Search
文件中心

DataWorks:CreateDataQualityEvaluationTask

更新時間:Oct 09, 2026

建立DataWorks資料品質監控。

說明

目前該API介面已標記為棄用,推薦使用替代API:dataworks-public(2024-05-18) - CreateDataQualityScan。

介面說明

需要購買 DataWorks 基礎版及以上版本才能使用。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

調試

授權資訊

當前API暫無授權資訊透出。

請求參數

名稱

類型

必填

描述

樣本值

Target

object

是

資料品質監控物件。

DatabaseType

string

是

資料表所屬的資料庫類型。

  • maxcompute

  • hologres

  • cdh

  • analyticdb_for_mysql

  • starrocks

  • emr

  • analyticdb_for_postgresql

maxcompute

TableGuid

string

是

資料表在資料地圖中的唯一 ID。

odps.api_test.ods_openapi_log_d

PartitionSpec

string

否

分割區資料表的分割區設定。

pt=$[yyyymmdd-1]

Description

string

否

品質監控任務描述。

OpenAPI create a data quality monitoring test

Name

string

是

品質監控任務名稱。

OpenAPI create a data quality monitoring test

RuntimeConf

string

否

擴充設定,JSON 格式的字串,只對 EMR 類型的資料品質監控生效。

  • queue:執行 EMR 資料品質校驗時,使用的 yarn 佇列,預設為本專案設定的佇列

  • sqlEngine:執行 EMR 的資料校驗時,採用的 SQL 引擎
    • HIVE_SQL

    • SPARK_SQL

{ "queue": "default", "sqlEngine": "SPARK_SQL" }

Trigger

object

否

資料品質校驗任務的觸發設定。

Type

string

否

品質監控觸發類型:

  • ByManual:手動觸發,預設值

  • ByScheduledTaskInstance:關聯排程任務觸發

ByScheduledTaskInstance

TaskIds

array

否

排程任務 ID 清單,在 Type 為 ByScheduledTaskInstance 時有效。

integer

否

排程任務 Id。

30001

ProjectId

integer

是

DataWorks 工作空間的 ID。您可以登入 DataWorks 控制台,進入工作空間管理頁面取得 ID。

該參數用來確定本次 API 呼叫操作使用的 DataWorks 工作空間。

10000

Hooks

array<object>

否

回呼設定。

object

否

Hook

Type

string

否

Hook 類型,目前只支援一種:

  • BlockTaskInstance:阻擋排程任務繼續執行,資料品質監控是由排程任務觸發的,那麼在資料品質監控執行完成之後,會根據 Hook.Condition 來判斷是否阻擋排程任務繼續執行。

BlockTaskInstance

Condition

string

否

Hook 觸發條件,當滿足這個條件時,會觸發 Hook 動作。目前只能支援兩種條件運算式:

  1. 只指定一組規則嚴重類型和規則校驗狀態,如 ${severity} == "High" AND ${status} == "Critical",代表執行的規則中,如果有 severity 為 High 的規則校驗結果是 Critical,則滿足條件。

  2. 指定多組規則嚴重類型和規則校驗狀態,如 (${severity} == "High" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Error"),代表執行的規則中,如果有 severity 為 High 的規則校驗結果是 Critical、或者 severity 為 Normal 的規則校驗結果是 Critical、或者 severity 為 Normal 的規則校驗結果是 Error,則滿足條件,條件運算式中 severity 的列舉與 DataQualityRule 中 severity 的列舉一致、status 的列舉與 DataQualityResult 中的 status 一致。

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

Notifications

object

否

通知訂閱設定。

Condition

string

否

通知觸發條件,當滿足這個條件時,會觸發訊息通知。目前只能支援兩種條件運算式:

只指定一組規則嚴重類型和規則校驗狀態,如 ${severity} == "High" AND ${status} == "Critical",代表執行的規則中,如果有 severity 為 High 的規則校驗結果是 Critical,則滿足條件。 指定多組規則嚴重類型和規則校驗狀態,如 (${severity} == "High" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Error"),代表執行的規則中,如果有 severity 為 High 的規則校驗結果是 Critical、或者 severity 為 Normal 的規則校驗結果是 Critical、或者 severity 為 Normal 的規則校驗結果是 Error,則滿足條件,條件運算式中 severity 的列舉與 DataQualityRule 中 severity 的列舉一致、status 的列舉與 DataQualityResult 中的 status 一致。

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

Notifications

array<object>

否

通知設定。

array<object>

否

通知設定。

NotificationReceivers

array<object>

否

告警接收人設定。

object

否

告警接收人設定。

ReceiverType

string

否

告警接收人類型。

  • WebhookUrl:自訂 Webhook 位址

  • FeishuUrl:飛書告警位址

  • DingdingUrl:釘釘告警位址

  • WeixinUrl:企業微信告警位址

  • AliUid:阿里雲使用者 ID

DingdingUrl

Extension

string

否

告警發送時的額外參數設定,JSON 格式,支援的 key 如下:

  • atAll:發送釘釘告警時,是否需要在群組中 @所有人。ReceiverType 為 DingdingUrl 時生效。

{ "atAll": true }

ReceiverValues

array

否

告警接收人。

string

否

接收方取值。

  • 當接收方類型為阿里雲 ID 時,接收方取值為具體阿里雲使用者 ID。

  • 當接收方類型為 DingdingUrl 時,接收方取值為具體釘釘機器人的告警位址。

  • 當接收方類型為 WeixinUrl 時,接收方取值為具體企業微信的告警位址。

  • 當接收方類型為 FeishuUrl 時,接收方取值為具體飛書的告警位址。

  • 當接收方類型為 WebhookUrl 時,接收方取值為具體自訂 Webhook 的告警位址。

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

NotificationChannels

array<object>

否

通知方式。

object

否

通知方式。

Channels

array

否

通知方式。

string

否

告警方式。

  • Mail - 電子郵件

  • Sms - 簡訊

  • Phone - 電話

  • Feishu - 飛書

  • Weixin - 微信

  • Dingding - 釘釘

  • Webhook - 自訂 Webhook

Mail

DataSourceId

integer

是

資料來源 ID,您可以呼叫 ListDataSources 取得資料來源的 ID。

1

DataQualityRules

array<object>

否

資料品質監控關聯的資料品質規則清單。如果設定了 DataQualityRule.Id,則把 ID 對應的規則關聯到新建品質監控中;如果沒有設定,則用其他欄位建立一個新的規則,關聯到新建的品質監控中。

array<object>

否

Name

string

否

資料品質規則名稱。

OpenAPI test rules

Enabled

boolean

否

品質規則是否啟用。

true

Severity

string

否

規則對於業務的等級(對應頁面上的強弱規則),可選的列舉值:

  • Normal

  • High

High

Description

string

否

資料品質規則描述。

OpenAPI test rules

TemplateCode

string

否

規則所引用的規則範本唯一識別碼。

SYSTEM:field:null_value:fixed:0

SamplingConfig

object

否

樣本採集時,所需的參數。

Metric

string

否

採樣的指標名稱。

  • Count:資料表列數

  • Min:欄位最小值

  • Max:欄位最大值

  • Avg:欄位平均值

  • DistinctCount:欄位唯一值個數

  • DistinctPercent:欄位唯一值個數與資料列數佔比

  • DuplicatedCount:欄位重複值個數

  • DuplicatedPercent:欄位重複值個數與資料列數佔比

  • TableSize:資料表大小

  • NullValueCount:欄位為空的列數

  • NullValuePercent:欄位為空的比例

  • GroupCount:按欄位值彙總後每個值與對應的資料列數

  • CountNotIn:列舉值不符合列數

  • CountDistinctNotIn:列舉值不符合唯一值個數

  • UserDefinedSql:透過自訂 SQL 進行樣本採集

NullValueCount

MetricParameters

string

否

樣本採集時,所需的參數。

{ "Columns": [ "id", "name" ] , "SQL": "select count(1) from table;"}

SettingConfig

string

否

具體執行採樣陳述式前,插入執行的一些執行時參數設定陳述式,最長 1000 個字元。目前只支援 MaxCompute。

odps.sql.type.system.odps2=True,odps.sql.hive.compatible=True

SamplingFilter

string

否

採樣時,對不關注的資料進行二次過濾的條件,最多 16777215 個字元。

status != 'Succeeded'

CheckingConfig

object

否

樣本校驗設定。

Type

string

否

閾值計算方式。

  • Fixed

  • Fluctation

  • FluctationDiscreate

  • Auto

  • Average

Fixed

ReferencedSamplesFilter

string

否

有些類型的閾值需要查詢出一些參考樣本,然後對參考樣本的值進行彙總得出進行比較的閾值,這裡使用一個運算式來表示參考樣本的查詢方式。

{"bizdate": ["-1"]}

Thresholds

object

否

校驗閾值設定。

Expected

object

否

期望的閾值設定。

Operator

string

否

比較運算子。

  • >

  • >=

  • <

  • <=

  • !=

  • =

=

Value

string

否

閾值數值。

0

Expression

string

否

閾值運算式。

波動率類型規則必須使用運算式方式表示波動閾值。如:

  • 波動上升大於 0.01: $checkValue > 0.01

  • 波動下降大於 0.01:$checkValue < -0.01

  • 波動率絕對值:abs($checkValue) > 0.01

固定值類型規則也可以使用運算式方式設定閾值,如果同時設定,運算式優先順序高於 Operator 和 Value。

$checkValue > 0.01

Warned

object

否

普通警告的閾值設定。

Operator

string

否

比較運算子。

  • >

  • >=

  • <

  • <=

  • !=

  • =

>

Value

string

否

閾值數值。

0.001

Expression

string

否

閾值運算式。

波動率類型規則必須使用運算式方式表示波動閾值。如:

  • 波動上升大於 0.01: $checkValue > 0.01

  • 波動下降大於 0.01:$checkValue < -0.01

  • 波動率絕對值:abs($checkValue) > 0.01

固定值類型規則也可以使用運算式方式設定閾值,如果同時設定,運算式優先順序高於 Operator 和 Value。

$checkValue > 0.01

Critical

object

否

嚴重警告的閾值設定。

Operator

string

否

比較運算子。

  • >

  • >=

  • <

  • <=

  • !=

  • =

>

Value

string

否

閾值數值。

0.01

Expression

string

否

閾值運算式。

波動率類型規則必須使用運算式方式表示波動閾值。如:

  • 波動上升大於 0.01: $checkValue > 0.01

  • 波動下降大於 0.01:$checkValue < -0.01

  • 波動率絕對值:abs($checkValue) > 0.01

固定值類型規則也可以使用運算式方式設定閾值,如果同時設定,運算式優先順序高於 Operator 和 Value。

$checkValue > 0.01

ErrorHandlers

array<object>

否

品質規則校驗問題處理器清單。

object

否

品質規則校驗問題處理器。

Type

string

否

處理器類型:

  • SaveErrorData:保留問題資料

SaveErrorData

ErrorDataFilter

string

否

如果是自訂 SQL 規則,需要使用者指定 SQL 來過濾問題資料。

SELECT * FROM ods_api_log WHERE status = 'Error';

Id

integer

否

規則 ID。

2176

返回參數

名稱

類型

描述

樣本值

object

Schema of Response

RequestId

string

Id of the request

2d9ce-38ef-4923-baf6-391a7e656

Id

integer

新建的資料品質監控 ID。

10001

樣本

正常返回樣本

JSON格式

{
  "RequestId": "2d9ce-38ef-4923-baf6-391a7e656",
  "Id": 10001
}

錯誤碼

HTTP status code

錯誤碼

錯誤資訊

描述

400 IdempotentParameterMismatch The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情。