zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

可信计算 RESTFul API

2023-02-18 16:44:46 时间

简介

   构建安全、可靠、易用、可定制的区块链可信计算服务平台,借助区块链、隐私保护、安全多方计算等前沿技术实现数据所有者拥有数据的绝对控制权,
同时还能帮助在不同的企业机构之间进行安全、高效的数据合作。

api接口列表

共享数据管理

接口

说明

接口

说明

Upload

数据共享上链

Update

数据更新

Request

数据使用请求

Authorize

数据授权

Get

查询单个数据

GetAll

查询所有数据

GetAllRequests

获取所有数据请求提醒

GetHistory

查询数据历史

GetAllNotificaitons

获取所有数据授权通知

任务管理

接口

说明

接口

说明

Create

创建可信计算任务

Execute

执行可信计算

Get

查询单个任务

GetAll

查询所有任务

请求方式说明

PUT和POST请求方式,参数请求类型为formdata,GET请求方式,参数请求类型为query、path


<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时的错误信息

接口示例

请手动替换下列命令中的地址: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
}

<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时的错误信息

接口示例

请手动替换下列命令中的地址: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
}

<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时的错误信息

接口示例

请手动替换下列命令中的地址: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
}

<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时的错误信息

接口示例

请手动替换下列命令中的地址: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
}

<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时的错误信息

接口示例

请手动替换下列命令中的地址: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
}

<span id="getall">GetAll</span>

接口功能

所有者可以获取他们上传的所有共享数据

URL

/v1/tee/ [GET]

请求参数

参数

必选

类型

说明

owner

true

string

用户共享数据的数据所有者。 一般使用所有者公钥。

返回字段

返回字段

字段类型

说明

success

bool

返回结果状态。true:正常;false:错误。

result

string

共享数据列表

code

string

当返回状态为false时的错误码

message

string

当返回状态为false时的错误信息

接口示例

请手动替换下列命令中的地址: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
}

<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时的错误信息

接口示例

请手动替换下列命令中的地址: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
}

<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时的错误信息

接口示例

请手动替换下列命令中的地址: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
}

<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时的错误信息

接口示例

请手动替换下列命令中的地址: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
}

<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时的错误信息

接口示例

请手动替换下列命令中的地址: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=%2Ftmp%2Fteetask%2Ftest"

// 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
}

<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时的错误信息

接口示例

请手动替换下列命令中的地址: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
}

<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时的错误信息

接口示例

请手动替换下列命令中的地址: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
}

<span id="getall">GetAll</span>

接口功能

获取所有可信计算任务。

URL

/v1/task/ [GET]

请求参数

`

参数

必选

类型

说明

返回字段

返回字段

字段类型

说明

success

bool

返回结果状态。true:正常;false:错误。

result

string

任务结果列表

code

string

当返回状态为false时的错误码

message

string

当返回状态为false时的错误信息

接口示例

请手动替换下列命令中的地址: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
}