全部產品
Search
文件中心

DataWorks:DsgDesensPlanAddOrUpdate

更新時間:Oct 09, 2026

呼叫 DsgDesensPlanAddOrUpdate 介面新建或編輯資料脫敏規則。

調試

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

調試

授權資訊

下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:

  • 操作:是指具體的許可權點。

  • 存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。

  • 資源類型:是指操作中支援授權的資源類型。具體說明如下:

    • 對於必選的資源類型,用前面加 * 表示。

    • 對於不支援資源級授權的操作,用全部資源表示。

  • 條件關鍵字:是指雲產品自身定義的條件關鍵字。

  • 關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。

操作

存取層級

資源類型

條件關鍵字

關聯操作

dataworks:DsgDesensPlanAddOrUpdate

list

*全部資源。

*

無 無

請求參數

名稱

類型

必填

描述

樣本值

DesensRules

array<object>

是

需要新增或編輯的脫敏規則集合。

array<object>

否

脫敏規則資訊。

Id

integer

否

脫敏規則 ID。您可呼叫 DsgDesensPlanQueryList 介面查詢。

123

DataType

string

否

敏感欄位類型。

phone

RuleName

string

是

脫敏規則名稱。

phone_hash

Status

integer

否

脫敏規則的生效狀態。取值如下:

  • 0:失效。

  • 1:生效。

1

SceneIds

array

是

二級脫敏場景。

integer

否

二級脫敏場景 ID。此處輸入的二級脫敏場景需要未設定 DataType 參數指定的敏感欄位類型脫敏規則。您可呼叫 DsgSceneQuerySceneListByName 查詢脫敏場景 ID。

123

Owner

string

是

脫敏規則的負責人。

test_user

CheckWatermark

boolean

否

是否新增浮水印。取值如下:

  • true:是

  • false:否

true

DesensPlan

object

是

脫敏規則。

DesensPlanType

string

是

脫敏規則中設定的脫敏方式。取值如下:

  • 雜湊:hash

  • 假名:mapping

  • 遮罩:mask

  • 字元替換:charreplacement

  • 區間變換:intervalselect

  • 取整數:decimalpoint

  • 置空:emptydesens

hash

ExtParam

object

否

脫敏規則參數。

any

否

脫敏規則參數設定,根據您要設定的脫敏規則新增不同參數,具體內容請參見下文範例。

{ "algo": "MD5", "salt":6 }

emptyNotDesens

boolean

否

是否對空值保持不脫敏。true 表示空值不脫敏,false 表示按規則處理。

columns

array<object>

否

脫敏關聯欄位清單。

object

否

dbType

string

是

資料來源類型。

ODPS.ODPS

project

string

是

專案空間名稱。

test_dev

table

string

是

資料表名稱。

test_table_dev

column

string

是

欄位名稱。

test_col_dev

ExtParam 為動態參數,對於不同脫敏規則設定不同,參考範例如下:

雜湊:
{
    "algo": "MD5",
    "salt": 6
}
假名:
{
    "charset": "Aa",
    "salt": 6
}
遮罩:
{
    "before": 3,
    "after": 4
}
自訂遮罩:
{
    "separatorList": [
        {
            "desens": true,
            "left": 3
        },
        {
            "desens": false,
            "left": 6
        },
        {
            "desens": true,
            "left": -99
        }
    ]
}
樣本值字元替換:
{
    "library": "test_library",
    "position": 3
}
固定值字元替換:
{
    "replace": "repData",
    "position": 3
}
隨機字元替換:
{
    "replace": "repData"
}
自訂字元替換:
{
    "separatorList": [
        {
            "desensParam": {
                "replace": "repData"
            },
            "left": 3
        },
        {
            "desensParam": {
                "library": "test_library"
            },
            "left": 6
        },
        {
            "desensParam": {
            },
            "left": 99
        }
    ]
}
區間變換:
{
    "intervalselects": [
        {
            "desens": "1",
            "interval": [
                "1",
                "100"
            ]
        }
    ]
}
取整數:
{
"point":3
}
置空:
{}

具體支援的脫敏方式及相關規則,可參考 DsgQueryDefaultTemplates 介面查詢。

返回參數

名稱

類型

描述

樣本值

object

OpenApiResultModel

Success

boolean

呼叫是否成功。取值如下: true:呼叫成功。 false:呼叫失敗。

true

ErrorCode

string

錯誤碼。

1029030003

ErrorMessage

string

錯誤資訊。

param error

HttpStatusCode

integer

HTTP 狀態碼。

400

Data

boolean

新增或編輯的執行結果。

true

RequestId

string

請求的 ID。用於定位日誌,排查問題。

102400001

樣本

正常返回樣本

JSON格式

{
  "Success": true,
  "ErrorCode": "1029030003",
  "ErrorMessage": "param error",
  "HttpStatusCode": 400,
  "Data": true,
  "RequestId": "102400001"
}

錯誤碼

HTTP status code

錯誤碼

錯誤資訊

描述

400 PARAMS.ERROR param error. 參數錯誤。
400 DESENSPLAN.DATATYPE.ERROR Sensitive type already has a desensitization rule. 敏感類型已設定脫敏規則。
400 DESENSPLAN.DATATYPENOTEXIST.ERROR Sensitive type not exist. 敏感類型不存在。
400 DESENSPLAN.ID.ERROR Desensitization rule ID does not exist. 脫敏規則 ID 不存在。
400 DESENSPLAN.PAGESIZE.ERROR Page size is too large, maximum of 100. 每頁筆數超限,最大為 100。
400 DESENSPLAN.PARAM.ERROR Desensitization rule parameter error. 脫敏規則參數錯誤。
400 DESENSPLAN.SCENECODE.ERROR Scene code does not exist. 場景碼不存在。
400 DESENSPLAN.SCENEID.ERROR Scene ID does not exist. 場景 ID 不存在。
400 DESENSPLAN.SCENEIDLEVEL.ERROR The scene is not a secondary scene. 場景不是二級場景。
400 DESENSPLAN.SIZE.ERROR The number of desens plan exceeds the limit. 脫敏規則數量超限。
500 UNKNOWN.ERROR unknown error. 未知錯誤。
403 PERMISSION.DENIED.ERROR Permission denied 權限不足。

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

變更歷史

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