全部產品
Search
文件中心

DataWorks:CreateDataQualityEvaluationTask

更新時間:Aug 18, 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

品質監控觸發類型:

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

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

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

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

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.

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

變更歷史

更多資訊,參考變更詳情