更新时间:2024-03-29 GMT+08:00

嵌入数据水印

功能介绍

对json体中数据动态添加水印

URI

POST /v1/{project_id}/sdg/database/watermark/embed

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务“获取用户Token接口”获取(响应消息头中X-Subject-Token的值)

表3 请求Body参数

参数

是否必选

参数类型

描述

watermark_content

String

添加水印的内容

watermark_key

String

水印密钥

columns

Array of Columns objects

字段类型列表,最大长度100。使用时,至少包含两个字段,一个“primary_key”为true表示主键,一个为false用来嵌入水印

data

Array of Map<String,Object> objects

数据字段的内容,最大支持长度2000

表4 Columns

参数

是否必选

参数类型

描述

name

String

数据的字段名称,最大支持长度256

type

String

数据的字段类型

枚举值:

  • INTEGER

  • STRING

  • DOUBLE

primary_key

Boolean

标记该字段是否为主键。true为主键,表示用来定位水印位置;false为非主键,将在该列嵌入/提取水印内容。字段类型列表中可同时包含多个为true或为false的字段

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

marked_data

Array of Map<String,Object> objects

嵌入水印后的数据

状态码: 400

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

请求示例

嵌入内容为test12345678test的水印,水印密钥是keyword,字段类型列表中数据的字段名称为item1,该字段为主键。

POST https://{endpoit}/v1/{project_id}/sdg/database/watermark/embed

{
  "watermark_content" : "test12345678test",
  "watermark_key" : "keyword",
  "columns" : [ {
    "name" : "item1",
    "type" : "INTEGER",
    "primary_key" : true
  }, {
    "name" : "item2",
    "type" : "INTEGER",
    "primary_key" : false
  } ],
  "data" : [ {
    "item1" : 0,
    "item2" : 3
  }, {
    "item1" : 1,
    "item2" : 4
  } ]
}

响应示例

状态码: 200

请求成功

{
  "marked_data" : [ {
    "item2" : 3,
    "item1" : "test"
  }, {
    "item2" : 5,
    "item1" : "test"
  } ]
}

状态码: 400

参数错误

{
  "error_code" : "DSC.00000004",
  "error_msg" : "Invalid parameter"
}

状态码

状态码

描述

200

请求成功

400

参数错误

错误码

请参见错误码