更新时间:2023-03-06 GMT+08:00

主动分享数据集

功能介绍

发布数据集并创建已授权的订单。不支持水印功能

URI

POST /v1/datashare/dataset/share

请求参数

表1 请求Body参数

参数

是否必选

参数类型

描述

orgID

是

String

组织id

channelID

是

String

通道id

cryptoMethod

是

String

加密方法,目前固定为SW

cert

是

String

证书

sk

是

String

私钥

timestamp

是

String

时间戳

provider

是

String

数据发布者身份标识

providerName

否

String

数据发布者名称

productName

是

String

产品名称

productID

是

String

产品ID

sampleUrl

是

String

样例数据存放地址

sampleSize

否

String

样例数据大小

sampleType

否

String

样例数据类型

sampleName

否

String

样例数据名称

fileType

否

String

数据文件类型

dataUrl

是

String

数据存放地址

dataHash

否

String

数据哈希

dataSize

否

String

数据大小

dataName

否

String

数据名称

description

否

String

数据集描述信息,在使用abe加密时,需要对加密策略进行详细描述

plainData

是

String

base64编码的明文数据

consumer

是

String

订单申请者身份标识

orderSeq

否

String

订单序列号,为空则随机生成

watermarkType

否

String

水印类型,visible明水印,blind暗水印,嵌入水印时,必须填写;不填写时默认不嵌入水印。嵌入的水印内容为:发布人did_productID。

file

否

String

加水印的文件,当对文件加水印时,plainData无效果

productIDKeywords

否

Array of productIDKeywordsJson objects

产品ID包含的索引关键字,用于按条件查询订单时使用,需要为设定的json格式

onChainStore

否

String

是否在链上存储加密后的数据,可设置为“true”或“false”,默认为“false”。当为“true”时,sampleUrl和dataUrl可以自动填充,不需要填写。水印功能暂不支持链上存储。

consumerName

否

String

使用者名称

creatorDID

否

String

数据集分享流程的创建者DID,action为“new”时,不需要填入

processID

否

String

数据集分享流程的流程ID,action为"new"时,不需要输入

stageName

否

String

本次数据集分享阶段的阶段名称

action

否

String

流程动作,新建:"new"、追加:"append"、不涉及:"",该字段不输入时视为不涉及

category

否

String

加密类型,symmetric/abe,默认为symmetric,如果使用abe加密,则policy必填

policy

否

policy object

abe策略

表2 productIDKeywordsJson

参数

是否必选

参数类型

描述

value

否

String

关键字值

表3 policy

参数

是否必选

参数类型

描述

Threshold

是

Integer

策略需要满足的属性阈值

Children

是

Array of policy-children objects

子属性列表

表4 policy-children

参数

是否必选

参数类型

描述

name

是

String

属性名

type

是

String

属性类型(plain,comparable和policy)

value

是

policy-children-comparablevalue object

属性值,根据type确定具体参数。 当type为plain时,value为string类型属性值。 当type为policy时,value为子policy。 当type为comparable时,value包含了op、value和maxValue三部分。

表5 policy-children-comparablevalue

参数

是否必选

参数类型

描述

op

否

String

type为comparable时填写,比较类型符号(>,<或=)

value

是

String

比较类型属性值,必须为整数

maxValue

否

String

type为comparable时填写,比较类型中value上限值

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

consumer

String

订单消费者身份标识

consumerName

String

订单消费者名称

orderSeq

String

订单序列号

provider

String

订单提供者身份标识

providerName

String

订单提供者名称

productID

String

数据集产品id

productName

String

数据集产品名称

price

String

订单价钱

applyTime

String

订单申请时间

encryptedAesKey

String

密钥

status

String

订单状态

reason

String

订单申请原因

lockProof

String

订单锁定证明

creatorDID

String

流程创建者DID,如果没有加入任何流程,为“”

processID

String

当前订单所属流程ID,如果没有加入任何流程,为“”

encryptData

String

base64编码的数据密文

状态码: 500

表7 响应Body参数

参数

参数类型

描述

errorCode

String

错误码

errorMsg

String

错误描述

请求示例

{
  "orgID" : "ce0ac69b0c8648cd25b44a551780409767c8890b",
  "channelID" : "mychannel",
  "cryptoMethod" : "SW",
  "cert" : "-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----",
  "sk" : "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----",
  "timestamp" : "2020-10-27T17:28:16+08:00",
  "provider" : "did:example:DHkJjyD5wZwya6sd6BNBnG",
  "providerName" : "huawei",
  "productName" : "prodname",
  "productID" : "product2",
  "sampleUrl" : "http://hwcloud.com/sample.com/prodname2",
  "sampleSize" : "10KB",
  "sampleType" : "csv",
  "sampleName" : "data_sub1",
  "fileType" : "csv",
  "dataUrl" : "http://hwcloud.com/prodname2",
  "dataHash" : "2282ba7a1a2ef5700609214a997d3d4237a03bfd3632c6d089e57e7b6f467969",
  "dataSize" : "100MB",
  "dataName" : "mydata1",
  "description" : "this is my second prod",
  "plainData" : "base64 encoding string",
  "consumer" : "did:example:3TMWx8owKHARgNwbj4ywmG",
  "orderSeq" : "1",
  "watermarkType" : "string",
  "file" : "string",
  "productIDKeywords" : "[{\"value\":\"taiyuan\"},{\"value\":\"renmin_hospital\"},{\"value\":\"medicine\"}]",
  "onChainStore" : "string",
  "consumerName" : "string"
}

响应示例

状态码: 200

订单信息

{
  "consumer" : "did:example:3TMWx8owKHARgNwbj4ywmG",
  "consumerName" : "Tyler",
  "orderSeq" : "1",
  "provider" : "did:example:DHkJjyD5wZwya6sd6BNBnG",
  "providerName" : "hw",
  "productID" : "product1",
  "productName" : "prodname1",
  "price" : "0",
  "applyTime" : "1607332359",
  "encryptedAesKey" : "BNGhPwjaTgpM+V7czzw1i4mH21KKN+XLKXHLqVsRIfybUCncqZNfomkRfzX4WEHj+oty1X9oCd4h6xMnRvs8BWE5Tvg6BJ6QTW/km9EO/FSYqzJf2GqQzAleAcLJrTBZ3LRbPaF87CgJ114ae7R+VK9VvfXQ8exuH2KMRD305dXieGpM4VPVv9u1BbL15Jpd/g==",
  "status" : "ready",
  "reason" : "I want product1",
  "lockProof" : "",
  "encryptData" : "base64 encoding string"
}

状态码: 500

失败响应

{
  "errorCode" : "BCS.5002046",
  "errorMsg" : "Incorrect number of arguments"
}

状态码

状态码

描述

200

订单信息

500

失败响应

错误码

请参见错误码。