简介
代码语言:javascript复制 构建安全、可靠、易用、可定制的区块链可信计算服务平台,借助区块链、隐私保护、安全多方计算等前沿技术实现数据所有者拥有数据的绝对控制权,
同时还能帮助在不同的企业机构之间进行安全、高效的数据合作。
api接口列表
共享数据管理
接口 | 说明 | 接口 | 说明 |
---|---|---|---|
Upload | 数据共享上链 | Update | 数据更新 |
Request | 数据使用请求 | Authorize | 数据授权 |
Get | 查询单个数据 | GetAll | 查询所有数据 |
GetAllRequests | 获取所有数据请求提醒 | GetHistory | 查询数据历史 |
GetAllNotificaitons | 获取所有数据授权通知 |
任务管理
接口 | 说明 | 接口 | 说明 |
---|---|---|---|
Create | 创建可信计算任务 | Execute | 执行可信计算 |
Get | 查询单个任务 | GetAll | 查询所有任务 |
请求方式说明
PUT和POST请求方式,参数请求类型为formdata,GET请求方式,参数请求类型为query、path
Upload"><span id="upload">Upload</span>
接口功能
用于上传用户的共享数据。 数据上传后,一旦其他人请求查询此数据,用户将收到通知并可以授权或拒绝该请求
URL
/v1/tee/
[POST]
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
ciphertext | ture | string | 用于共享数据的加密密文,通常使用私钥加密。 当然,您也可以不加密,上传数据明文,如数据地址。 |
summary | true | string | 用户共享的数据摘要。 通常使用SM3 / SHA-256 / MD5计算。 目前推荐使用SM3加密。 |
description | true | string | 用户共享数据的数据描述。 通常用于解释数据的基本情况或可以用来做什么。 |
owner | true | string | 用户共享数据的数据所有者。 一般使用所有者公钥。 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 数据ID |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。由于环境的原因,result结果可能不同,并不能说明调用失败。
curl -X POST "http://localhost:8060/v1/tee/" -H "accept: application/json" -H "content-type: application/x-www-form-urlencoded" -d "ciphertext=Ciphertext&summary=Summary&description=Description&owner=Owner"
// Result:
{
"code": "000000",
"message": "",
"result": "6f756e34921c59a645bb2801e36cd5f040a085620e82d1cf9e1e1568988952d5",
"success": true
}
Update"><span id="update">Update</span>
接口功能
更新上载的数据,重新生成数据摘要,并修改数据描述。
URL
/v1/tee/:id
[PUT]
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
id | true | string | 用户共享数据的数据ID。 它是在上传数据后由服务器生成的。 |
ciphertext | ture | string | 用于共享数据的加密密文,通常使用私钥加密。 当然,您也可以不加密,上传数据明文,如数据地址。 |
summary | true | string | 用户共享的数据摘要。 通常使用SM3 / SHA-256 / MD5计算。 目前推荐使用SM3加密。 |
description | true | string | 用户共享数据的数据描述。 通常用于解释数据的基本情况或可以用来做什么。 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 更新结果 |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。
curl -X PUT "http://localhost:8060/v1/tee/6f756e34921c59a645bb2801e36cd5f040a085620e82d1cf9e1e1568988952d5" -H "accept: application/json" -H "content-type: application/x-www-form-urlencoded" -d "ciphertext=AAAAAAAAA&summary=BBBBBBBBBBB&description=CCCCCCCCCCCC"
// Result:
{
"code": "000000",
"message": "",
"result": "Updated successfully",
"success": true
}
Request"><span id="request">Request</span>
接口功能
请求查看用户数据,这将向数据所有者发送通知并将收到提醒。
URL
/v1/tee/request/
[POST]
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
id | true | string | 用户共享数据的数据ID。 它是在上传数据后由服务器生成的。 |
requester | ture | string | 请求查看其他人共享的数据的数据请求者。 通常使用请求者公钥。 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 请求结果 |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。
curl -X PUT curl -X POST "http://localhost:8060/v1/tee/request/" -H "accept: application/json" -H "content-type: application/x-www-form-urlencoded" -d "id=6f756e34921c59a645bb2801e36cd5f040a085620e82d1cf9e1e1568988952d5&requester=AAAAAAAAA"
// Result:
{
"code": "000000",
"message": "",
"result": "Requested successfully",
"success": true
}
Authorize"><span id="authorize">Authorize</span>
接口功能
授权是否同意此用户查看此数据
URL
/v1/tee/authorize/
[PUT]
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
id | true | string | 用户请求数据的通知的ID。 它是在请求数据后由服务器生成的。 |
status | ture | string | 请求结果。0-未授权,1-同意授权,2-拒绝授权。 |
message | ture | string | 如果状态被授权,则该消息是加密的密文,如果被拒绝,则该消息被拒绝原因。 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 授权结果 |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。
curl -X PUT "http://localhost:8060/v1/tee/authorize/" -H "accept: application/json" -H "content-type: application/x-www-form-urlencoded" -d "id=e8ec738a9018a89c818e2fe46d4989d79fdcb710c60fecfceeeafbc0d7014fe0&status=1&message=AAAAAAAAAAAAAAAAAAAAAAAa"
// Result:
{
"code": "000000",
"message": "",
"result": "Authorized successfully",
"success": true
}
Get"><span id="get">Get</span>
接口功能
用户可以使用指定的id获取共享数据
URL
/v1/tee/:id
[GET]
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
id | true | string | 用户共享数据的数据ID。 它是在上传数据后由服务器生成的。 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 共享数据 |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。因环境的不同,结果可能不一致,并不能说明调用失败。
curl -X GET "http://localhost:8060/v1/tee/6f756e34921c59a645bb2801e36cd5f040a085620e82d1cf9e1e1568988952d5" -H "accept: application/json"
// Result:
{
"code": "000000",
"message": "",
"result": {
"id": "6f756e34921c59a645bb2801e36cd5f040a085620e82d1cf9e1e1568988952d5",
"ciphertext": "AAAAAAAAA",
"summary": "BBBBBBBBBBB",
"description": "CCCCCCCCCCCC",
"owner": "Owner",
"uploadsecondstimestamp": 1555661461
},
"success": true
}
GetAll"><span id="getall">GetAll</span>
接口功能
所有者可以获取他们上传的所有共享数据
URL
/v1/tee/
[GET]
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
owner | true | string | 用户共享数据的数据所有者。 一般使用所有者公钥。 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 共享数据列表 |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。因环境的不同,结果可能不一致,并不能说明调用失败。
curl -X GET "http://localhost:8060/v1/tee/?owner=Owner" -H "accept: application/json"
// Result:
{
"code": "000000",
"message": "",
"result": [
{
"id": "10fe8cc74ca2cf2d4dacf9233885bdc40c643a4c64aa1411c10ec4cb93c312a5",
"ciphertext": "Ciphertext2",
"summary": "Summary2",
"description": "Description2",
"owner": "Owner",
"uploadsecondstimestamp": 1555053347
},
{
"id": "6f756e34921c59a645bb2801e36cd5f040a085620e82d1cf9e1e1568988952d5",
"ciphertext": "AAAAAAAAA",
"summary": "BBBBBBBBBBB",
"description": "CCCCCCCCCCCC",
"owner": "Owner",
"uploadsecondstimestamp": 1555661461
}
],
"success": true
}
GetAllRequests"><span id="getallrequests">GetAllRequests</span>
接口功能
查询您作为请求者发送的所有请求,并查看请求的授权信息。
URL
/v1/tee/request/
[GET]
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
requester | ture | string | 请求查看其他人共享的数据的数据请求者。 通常使用请求者公钥。 |
id | true | string | 用户共享数据的数据ID。 它是在上传数据后由服务器生成的。 |
status | ture | string | 请求结果。0-未授权,1-同意授权,2-拒绝授权。 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 请求列表 |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。因环境的不同,结果可能不一致,并不能说明调用失败。
curl -X GET "http://localhost:8060/v1/tee/request/?requester=AAAAAAAAA" -H "accept: application/json"
// Result:
{
"code": "000000",
"message": "",
"result": [
{
"id": "e8ec738a9018a89c818e2fe46d4989d79fdcb710c60fecfceeeafbc0d7014fe0",
"data": {
"id": "6f756e34921c59a645bb2801e36cd5f040a085620e82d1cf9e1e1568988952d5",
"ciphertext": "AAAAAAAAA",
"summary": "BBBBBBBBBBB",
"description": "CCCCCCCCCCCC",
"owner": "Owner",
"uploadsecondstimestamp": 1555661461
},
"requester": "AAAAAAAAA",
"requestsecondstimestamp": 1555661789,
"authstatus": 1,
"authsecondstimestamp": 1555662261,
"ciphertext": "AAAAAAAAAAAAAAAAAAAAAAAa",
"refusedreason": ""
}
],
"success": true
}
GetHistory"><span id="gethistory">GetHistory</span>
接口功能
请求查看用户数据历史版本。
URL
/v1/tee/history/:id
[GET]
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
id | true | string | 用户共享数据的数据ID。 它是在上传数据后由服务器生成的。 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 数据的历史列表 |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。因环境的不同,结果可能不一致,并不能说明调用失败。
curl -X GET "http://localhost:8060/v1/tee/history/6f756e34921c59a645bb2801e36cd5f040a085620e82d1cf9e1e1568988952d5" -H "accept: application/json"
// Result:
{
"code": "000000",
"message": "",
"result": [
{
"id": "6f756e34921c59a645bb2801e36cd5f040a085620e82d1cf9e1e1568988952d5",
"ciphertext": "Ciphertext",
"summary": "Summary",
"description": "Description",
"owner": "Owner",
"uploadsecondstimestamp": 1555660564
},
{
"id": "6f756e34921c59a645bb2801e36cd5f040a085620e82d1cf9e1e1568988952d5",
"ciphertext": "AAAAAAAAA",
"summary": "BBBBBBBBBBB",
"description": "CCCCCCCCCCCC",
"owner": "Owner",
"uploadsecondstimestamp": 1555661461
}
],
"success": true
}
GetAllNotificaitons"><span id="getallnotificaitons">GetAllNotificaitons</span>
接口功能
查询您作为数据所有者收到的所有通知,并授权或拒绝请求
URL
/v1/tee/notification/
[GET]
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
owner | true | string | 用户共享数据的数据所有者。 一般使用所有者公钥。 |
id | true | string | 用户共享数据的数据ID。 它是在上传数据后由服务器生成的。 |
requester | ture | string | 请求查看其他人共享的数据的数据请求者。 通常使用请求者公钥。 |
status | ture | string | 请求结果。0-未授权,1-同意授权,2-拒绝授权。 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 数据的通知列表 |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。因环境的不同,结果可能不一致,并不能说明调用失败。
curl -X GET curl -X GET "http://localhost:8060/v1/tee/notification/?owner=Owner" -H "accept: application/json"
// Result:
{
"code": "000000",
"message": "",
"result": [
{
"id": "e8ec738a9018a89c818e2fe46d4989d79fdcb710c60fecfceeeafbc0d7014fe0",
"data": {
"id": "6f756e34921c59a645bb2801e36cd5f040a085620e82d1cf9e1e1568988952d5",
"ciphertext": "AAAAAAAAA",
"summary": "BBBBBBBBBBB",
"description": "CCCCCCCCCCCC",
"owner": "Owner",
"uploadsecondstimestamp": 1555661461
},
"requester": "AAAAAAAAA",
"requestsecondstimestamp": 1555661789,
"authstatus": 1,
"authsecondstimestamp": 1555662261,
"ciphertext": "AAAAAAAAAAAAAAAAAAAAAAAa",
"refusedreason": ""
}
],
"success": true
}
Create"><span id="create">Create</span>
接口功能
创建一个可信计算任务来计算数据,任务创建者应该提供所有数据ID和算法ID,以及结果存储的位置
URL
/v1/task/
[POST]
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
dataIDs | true | []string | 所有共享数据ID,此共享数据存储原始数据地址。 |
algorithmID | true | string | 共享算法数据ID。 |
resultAddress | ture | string | 可信计算的结果存放地址。 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 数据的通知列表 |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。因环境的不同,结果可能不一致,并不能说明调用失败。
curl -X POST "http://localhost:8060/v1/task/" -H "accept: application/json" -H "content-type: application/x-www-form-urlencoded" -d "dataIDs=83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b,593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a,162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e&algorithmID=8b52e54e5cba977d3c8a223f9647aaf5da169426f8d577c58b7ca94480d058b7&resultAddress=/tmp/teetask/test"
// Result:
{
"code": "000000",
"message": "",
"result": {
"id": "fe4bcf41-5c3a-4dd5-b360-43f33a38f376",
"dataIDs": [
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a",
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e"
],
"algorithmID": "8b52e54e5cba977d3c8a223f9647aaf5da169426f8d577c58b7ca94480d058b7",
"containerType": 0,
"resultAddress": "/tmp/teetask/test/fe4bcf41-5c3a-4dd5-b360-43f33a38f376",
"resultType": 0,
"dataNotifications": {
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e": "64a8ce9183725dd7c0c6ee7d7ca06b3a29f4cbd5684126e49903869069997f3d",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a": "96c0e201ba83f99a2a37006adc1cfe42e1a37096d4eaf5010d2f1929d63b63de",
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b": "7508284ad7d2c3afe4049b65a31e3759c469490259767fe01199d7666fac66cd"
},
"createSeconds": 1555655924,
"uploadSeconds": 1555655924,
"logHash": ""
},
"success": true
}
Execute"><span id="execute">Execute</span>
接口功能
使用算法执行可信计算任务。
URL
/v1/task/
[PUT]
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
id | true | string | 可信计算任务的任务ID。 它是在创建任务后由服务器生成的。 |
algorithm | true | string | 用于执行此任务的可执行算法。 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 数据的执行结果 |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。因环境的不同,结果可能不一致,并不能说明调用失败。
curl -X PUT "http://localhost:8060/v1/task/" -H "accept: application/json" -H "content-type: multipart/form-data" -d {"0":["id","fe4bcf41-5c3a-4dd5-b360-43f33a38f376"],"1":["algorithm",{}]}
// Result:
{
"code": "000000",
"message": "",
"result": "Successful execution, the result is in the/tmp/teetask/test/fe4bcf41-5c3a-4dd5-b360-43f33a38f376/execution.log",
"success": true
}
Get"><span id="get">Get</span>
接口功能
按任务ID获取可信计算任务。
URL
/v1/task/:id
[GET]
请求参数
`
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
id | true | string | 可信计算任务的任务ID。 它是在创建任务后由服务器生成的。 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 任务结果 |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。因环境的不同,结果可能不一致,并不能说明调用失败。
curl -X GET "http://localhost:8060/v1/task/fe4bcf41-5c3a-4dd5-b360-43f33a38f376" -H "accept: application/json"
// Result:
{
"code": "000000",
"message": "",
"result": {
"id": "fe4bcf41-5c3a-4dd5-b360-43f33a38f376",
"dataIDs": [
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a",
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e"
],
"algorithmID": "8b52e54e5cba977d3c8a223f9647aaf5da169426f8d577c58b7ca94480d058b7",
"containerType": 0,
"resultAddress": "/tmp/teetask/test/fe4bcf41-5c3a-4dd5-b360-43f33a38f376",
"resultType": 0,
"dataNotifications": {
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e": "64a8ce9183725dd7c0c6ee7d7ca06b3a29f4cbd5684126e49903869069997f3d",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a": "96c0e201ba83f99a2a37006adc1cfe42e1a37096d4eaf5010d2f1929d63b63de",
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b": "7508284ad7d2c3afe4049b65a31e3759c469490259767fe01199d7666fac66cd"
},
"createSeconds": 1555655924,
"uploadSeconds": 1555655924,
"logHash": ""
},
"success": true
}
GetAll"><span id="getall">GetAll</span>
接口功能
获取所有可信计算任务。
URL
/v1/task/
[GET]
请求参数
`
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
无 | 无 | 无 | 无 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
success | bool | 返回结果状态。true:正常;false:错误。 |
result | string | 任务结果列表 |
code | string | 当返回状态为false时的错误码 |
message | string | 当返回状态为false时的错误信息 |
接口示例
代码语言:javascript复制请手动替换下列命令中的地址:
http://localhost:8060/v1/tee/
。因环境的不同,结果可能不一致,并不能说明调用失败。
curl -X GET "http://localhost:8060/v1/task/" -H "accept: application/json"
// Result:
{
"code": "000000",
"message": "",
"result": [
{
"id": "",
"dataIDs": [
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a",
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e"
],
"algorithmID": "8b52e54e5cba977d3c8a223f9647aaf5da169426f8d577c58b7ca94480d058b7",
"containerType": 0,
"resultAddress": "/tmp/teetask/test/3876e96d-b549-49a3-b374-f007fd8d9418",
"resultType": 0,
"dataNotifications": null,
"createSeconds": 1555639579,
"uploadSeconds": 1555639579,
"logHash": ""
},
{
"id": "6976c1be-049f-4efa-8795-eb6af3404cab",
"dataIDs": [
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a",
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e"
],
"algorithmID": "8b52e54e5cba977d3c8a223f9647aaf5da169426f8d577c58b7ca94480d058b7",
"containerType": 0,
"resultAddress": "/tmp/teetask/test/6976c1be-049f-4efa-8795-eb6af3404cab",
"resultType": 0,
"dataNotifications": {
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e": "9d02656630f5997d253241aec857b29f5d2f81353f358680db645d1da9caa8ca",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a": "b6d1e0135fbce76b8e3c479f2c3bd29169b75e149b91d999312e0a9a6c9c0a77",
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b": "13632116f19c9a15b37fb5f718c71d4346a7ac9c7fa5d51ff0b493eb234b1853"
},
"createSeconds": 1555654217,
"uploadSeconds": 1555654217,
"logHash": ""
},
{
"id": "6976c1be-049f-4efa-8795-eb6af3404cab",
"dataIDs": [
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a",
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e"
],
"algorithmID": "8b52e54e5cba977d3c8a223f9647aaf5da169426f8d577c58b7ca94480d058b7",
"containerType": 0,
"resultAddress": "/tmp/teetask/test/69db5859-ef52-4974-83b9-2176bea43f65",
"resultType": 0,
"dataNotifications": null,
"createSeconds": 1555639528,
"uploadSeconds": 1555639528,
"logHash": ""
},
{
"id": "6976c1be-049f-4efa-8795-eb6af3404cab",
"dataIDs": [
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b"
],
"algorithmID": "10fe8cc74ca2cf2d4dacf9233885bdc40c643a4c64aa1411c10ec4cb93c312a5",
"containerType": 0,
"resultAddress": "/tmp/teetest/test1/8581ec9c-7b4e-4d80-bfc6-06bdd28bc32a",
"resultType": 0,
"dataNotifications": null,
"createSeconds": 4,
"uploadSeconds": 4,
"logHash": ""
},
{
"id": "6976c1be-049f-4efa-8795-eb6af3404cab",
"dataIDs": [
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a",
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e"
],
"algorithmID": "8b52e54e5cba977d3c8a223f9647aaf5da169426f8d577c58b7ca94480d058b7",
"containerType": 0,
"resultAddress": "/tmp/teetask/test/ca33e364-d732-4d05-851c-068d9dbd0541",
"resultType": 0,
"dataNotifications": {
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e": "4a1fc8e66208ac7099ac05825571888293affd9f52ab71b37a51bf0da9ad63c7",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a": "2bac85bbd61f59a04e6c0b02119ac0501a00fa759d204688acd398d87f62838a",
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b": "187f5670770558918706517ddfafe894241b0e6b46faee63d870ac857f63b182"
},
"createSeconds": 1555654087,
"uploadSeconds": 1555654087,
"logHash": ""
},
{
"id": "d5746e10-14f4-49f1-80e5-5e50896278af",
"dataIDs": null,
"algorithmID": "",
"containerType": 0,
"resultAddress": "d5746e10-14f4-49f1-80e5-5e50896278af",
"resultType": 0,
"dataNotifications": null,
"createSeconds": 1555654087,
"uploadSeconds": 1555654087,
"logHash": ""
},
{
"id": "d5746e10-14f4-49f1-80e5-5e50896278af",
"dataIDs": [
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a",
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e"
],
"algorithmID": "8b52e54e5cba977d3c8a223f9647aaf5da169426f8d577c58b7ca94480d058b7",
"containerType": 0,
"resultAddress": "/tmp/teetask/test/e92987f7-ec15-4595-bc7c-03836df5a00d",
"resultType": 0,
"dataNotifications": {
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e": "345b38b80cb8c81e3f1daf298d68eab9fbaf16c694c91d3263df81b5c2748ea8",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a": "3b49f03915be7083e7d801e9aef427392d786c75e0aceffec178dd6acc188f6c",
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b": "f3bab7a352daec9573ff070663a053fe2c483714919475ec70cdcd205523ed33"
},
"createSeconds": 1555653340,
"uploadSeconds": 1555653340,
"logHash": ""
},
{
"id": "d5746e10-14f4-49f1-80e5-5e50896278af",
"dataIDs": [
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b"
],
"algorithmID": "10fe8cc74ca2cf2d4dacf9233885bdc40c643a4c64aa1411c10ec4cb93c312a5",
"containerType": 0,
"resultAddress": "/tmp/teetest/test1/ede3bf89-2cd4-4d65-acf4-b10150032b86",
"resultType": 0,
"dataNotifications": null,
"createSeconds": 1555575708,
"uploadSeconds": 1555575708,
"logHash": ""
},
{
"id": "fe4bcf41-5c3a-4dd5-b360-43f33a38f376",
"dataIDs": [
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a",
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e"
],
"algorithmID": "8b52e54e5cba977d3c8a223f9647aaf5da169426f8d577c58b7ca94480d058b7",
"containerType": 0,
"resultAddress": "/tmp/teetask/test/fe4bcf41-5c3a-4dd5-b360-43f33a38f376",
"resultType": 0,
"dataNotifications": {
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e": "ca11a77830fed32df0b85211b5143a4b8f6104151dce71d18dfb1a80fee89712",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a": "dd3ab64e77aa87536af48a90acf1f1fed905fd23acceb3affa7ca148388bbe88",
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b": "373d464178c5ac69020804ce8220e86f1f8ef452e7208cac048a690bdd8c4bc2"
},
"createSeconds": 1555655924,
"uploadSeconds": 1555655924,
"logHash": ""
},
{
"id": "fe4bcf41-5c3a-4dd5-b360-43f33a38f376",
"dataIDs": [
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a",
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e"
],
"algorithmID": "8b52e54e5cba977d3c8a223f9647aaf5da169426f8d577c58b7ca94480d058b7",
"containerType": 0,
"resultAddress": "/tmp/teetask/test/fe74466a-279a-452e-8231-f75dae1b3dc2",
"resultType": 0,
"dataNotifications": {
"162022d1e468f866b521a8fd6eb69277423b3733927708157d12f1884decc50e": "ca11a77830fed32df0b85211b5143a4b8f6104151dce71d18dfb1a80fee89712",
"593f9c904ed2bb417ccd09f69777af82433fbb5b484318eef7f26877281e0d5a": "dd3ab64e77aa87536af48a90acf1f1fed905fd23acceb3affa7ca148388bbe88",
"83de8c970b04ea575196ef669d7fb0c38e84a6dca6ce18e206255cf22e97ba0b": "373d464178c5ac69020804ce8220e86f1f8ef452e7208cac048a690bdd8c4bc2"
},
"createSeconds": 1555640506,
"uploadSeconds": 1555640506,
"logHash": ""
},
{
"id": "test",
"dataIDs": null,
"algorithmID": "",
"containerType": 0,
"resultAddress": "",
"resultType": 0,
"dataNotifications": null,
"createSeconds": 1555640506,
"uploadSeconds": 1555640506,
"logHash": ""
}
],
"success": true
}