Dataset Operation

ListAuthStorageConfig

获取授权配置列表

获取授权配置的列表

请求路径

GET /v1/auth-storage-configs

请求参数

Query

名称类型是否必须描述

name

string

配置名

limit

int

需大于0,默认128,单次最多获取128

offset

int

默认0

请求示例

curl --location --request GET '{service}/v1/auth-storage-configs?name=aws_1&limit=1&offset=0' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "configs": [
        {
            "name": "aws_1",
            "type": "s3",
            "endpoint": "s3.cn-northwest-1.amazonaws.com.cn",
            "accesskeyId": "AKIKU7KYZCWGOTEV5GNE",
            "bucketName": "graviti-210415"
        }
    ],
    "offset": 0,
    "recordSize": 1,
    "totalCount": 1
}

ListStorageConfigs

获取配置列表

请求路径

GET /v1/storage-configs

请求参数

Query

名称类型是否必须描述

name

string

配置名

limit

int

需大于0,默认128,单次最多获取128

offset

int

默认0

请求示例

curl --location --request GET '{service}/v1/storage-configs?limit=1&offset=0' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "configs":[
        {
            "name":"AliCloud-oss-cn-shanghai",
            "filePath":"",
            "type":"oss",
            "isGravitiStorage":true
        }
    ],
    "offset":0,
    "recordSize":1,
    "totalCount":1
}

CreateStorageConfigOSS

创建OSS存储配置

请求路径

POST /v1/storage-configs/oss

请求参数

Body

名称类型是否必须描述

name

string

配置名称

filePath

string

文件存储路径

accesskeyId

string

accesskey id

accesskeySecret

string

accesskey secret

endpoint

string

Oss 的节点

bucketName

string

oss 的 bucket 名

请求示例

curl --location --request POST '{service}/v1/storage-configs/oss' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
   "name": "configName",
   "filePath": "car",
   "accesskeyId": "AFIAU57BYHCWGOTEAV9GNE",
   "accesskeySecret": "secret",
   "endpoint": "oss-sn-hangzhou.aliyuncs.com",
   "bucketName": "testBucket"
}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

CreateStorageConfigS3

创建S3存储配置

请求路径

POST /v1/storage-configs/s3

请求参数

Body

名称类型是否必须描述

name

string

配置名称

filePath

string

文件存储路径

accesskeyId

string

accesskey id

accesskeySecret

string

accesskey secret

endpoint

string

S3 的节点

bucketName

string

S3 的 bucket 名

请求示例

curl --location --request POST '{service}/v1/storage-configs/s3' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
   "name": "configName",
   "filePath": "car",
   "accesskeyId": "AFIAU57BYHCWGOTEAV9GNE",
   "accesskeySecret": "secret",
   "endpoint": "s3-sn-hangzhou.aliyuncs.com",
   "bucketName": "testBucket"
}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

CreateStorageConfigAzure

创建Azure存储配置

请求路径

POST /v1/storage-configs/azure

请求参数

Body

名称类型是否必须描述

name

string

配置名称

filePath

string

文件存储路径

accesskeyId

string

Azure 的 account name

accesskeySecret

string

azure 的 account key

containerName

string

Azure 的 container 名

accountType

string

Azure 的 accountType

请求示例

curl --location --request POST '{service}/v1/storage-configs/azure' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
   "name": "configName",
   "filePath": "car",
   "accesskeyId": "AFIAU57BYHCWGOTEAV9GNE",
   "accesskeySecret": "secret",
   "containerName": "test_container",
   "accountType": "Azure_china"
}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

CreateStorageConfigLocalFs

创建本地文件系统存储配置

请求路径

POST /v1/storage-configs/local

请求参数

Body

名称类型是否必须描述

name

string

配置名称

filePath

string

文件存储路径

endpoint

string

存储节点

请求示例

curl --location --request POST '{service}/v1/storage-configs/local' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
   "name": "configName",
   "filePath": "car",
   "endpoint": "192.168.1.1:8888"
}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

DeleteStorageConfig

删除storage config

DELETE /v1/storage-configs/{name}

Path

名称是否必须描述

name

config 名

请求示例

curl --location --request DELETE '{service}/v1/storage-configs/configName' \
--header 'x-token: {your_accesskey}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

CreateDataset

创建数据集

创建tensorbay数据集,默认支持版本管理,数据集名称不可重复

请求路径

POST /v1/datasets

请求参数

Body

名称类型是否必须描述

name

string

数据集名字

alias

string

数据集别名

type

int

默认是0,0-普通数据集,1-融合数据集

configName

string

云配置名,根据对应配置创建数据集

isPublic

bool

数据集是否公开, 默认不公开

请求示例

curl --location --request POST '{service}/v1/datasets' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
   "name": "my first dataset",
   "alias": "dataset alias",
   "type": 0,
   "configName": "example config name",
   "isPublic": true
}'

返回结果

# 响应状态
HttpStatus 201
# 响应结果
{
    "id": "154e35bae8954f09969ef8c9445efd2c"
}
  • id: 创建的data set的ID

DeleteDataset

删除dataset

DELETE /v1/datasets/{id}

Path

名称是否必须描述

id

数据集ID

请求示例

curl --location --request DELETE '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c' \
--header 'x-token: {your_accesskey}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

UpdateDataset

更新dataset信息

PATCH /v1/datasets/{id}

Path

名称是否必须描述

id

数据集ID

Body

名称类型是否必须描述

name

string

dataset 名称, 如果传值不可为“”空值

alias

string

数据集别名

isPublic

bool

数据集是否公开,true 对应公开, false 对应私有

defaultBranch

string

数据集默认分支名

请求示例

curl --location --request PATCH '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c' \
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "my dataset",
    "alias": "datasetAlias",
    "isPublic": false,
    "defaultBranch": "main"
}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

ListDataset

获取数据集列表

返回用户拥有的数据集列表:

  • 个人用户获取个人账户下的数据集列表

  • 团队用户获取所在企业下的数据集

请求路径

GET /v1/datasets

请求参数

Query

名称类型是否必须描述

limit

int

需大于0,默认128,单次最多获取128

offset

int

默认0

name

string

数据集名称

needFuzzyQuery

bool

默认false 若为true,则支持数据集名称模糊搜索

needTeamDataset

bool

默认false,当用户为团队用户且该值为true,则返回整个团队的数据集

sortBy

string

排序的字段,默认updated_at(更新时间), 目前支持created_at(创建时间)和updated_at,传入其他内容会返回InvalidParamsValue

orderBy

string

默认desc(倒序),合法内容为asc(顺序)和desc

请求示例

curl --location --request GET '{service}/v1/datasets?offset=0&limit=10'\
--header 'x-token: {your_accesskey}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "datasets": [
      {
        "id": "154e35bae8954f09969ef8c9445efd2c",
        "name": "my-great-data-set",
        "alias": "dataset alias",
        "defaultBranch": "main",
        "type": 0,
        "updateTime": 1604977282,
        "owner": "",
        "commitId": "00000000000000000000000000000000",
        "coverUrl": "https://example.com/image.jpg",
        "dataSize": 100,
        "dataCount": 10,
        "tabs": {
          "labelType": [{
            "id":"06181d4e05484c1fa011f585a9e255cf", 
            "name":"BOX2D"
            }
          ]
        }
      }
    ],
    "offset": 0,
    "recordSize": 1,
    "totalCount": 1
}
  • datasets: 数据集列表

    • id: 数据集id

    • name: 数据集名称

    • alias: 数据集别名

    • defaultBranch: 默认分支名

    • type: 数据集类型,0-普通数据集,1-融合数据集

    • owner: 数据集所有者

    • commitId: 该数据集最新的提交 ID

    • coverUrl: 封面路径

    • dataCount: 默认分支上最新提交的数据数量

    • dataSize: 默认分支上最新提交的数据大小

    • updateTime: 时间戳,更新时间

    • tabs: 标签字典,键为类型,值为标签数组

GetDataset

请求路径

GET /v1/datasets/{id}

请求参数

PATH

名称是否必须描述

id

dataset id

请求示例

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c'\
--header 'x-token: {your_accesskey}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "name": "my-great-data-set",
    "alias": "dataset alias",
    "coverUrl": "https://example.com/image.jpg",
    "type": 1,
    "defaultBranch": "main",
    "commitId": "00000000000000000000000000000000",
    "updateTime": 1604977282,
    "owner": "",
    "isPublic": false,
    "configName": "exampleConfigName"
}

CreateBranch

创建branch

创建数据集新branch

请求路径

POST /v1/datasets/{id}/branches

请求参数 Path

名称是否必须描述

id

数据集ID

Body

名称类型是否必须描述

name

string

创建的branch名称

commit

string

从哪个commit切出branch, commit 可为 commit id, commit tag 或者 branch name

请求示例

curl --location --request POST '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/branches' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": main2,
  "commit": "fde63f357daf46088639e9f57fd81cad"
}'

返回结果

# 响应状态
HttpStatus 201
# 响应结果
{}

DeleteBranch

删除branch

删除数据集branch

请求路径

DELETE /v1/datasets/{id}/branches

请求参数 Path

名称是否必须描述

id

数据集ID

Body

名称类型是否必须描述

name

string

branch名称

请求示例

curl --location --request DELETE '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/branches' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": main2
}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

ListBranches

获取branch列表

获取数据集的branch列表

请求路径

GET /v1/datasets/{id}/branches

请求参数 Path

名称是否必须描述

id

数据集ID

Query

名称类型是否必须描述

limit

int

需大于0,默认128,单次最多获取128

offset

int

默认0

name

string

分支名

请求示例

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/branches?limit=1&offset=0' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "branches": [
        {
            "name": "main",
            "commitId": "fde63f357daf46088639e9f57fd81cad",
            "parentCommitId": "f68b1375454f459b8a486b8d1f4d9ddb",
            "title": "first commit",
            "description": "desc",
            "committer": {
                "name": "graviti",
                "date": 1616579313
            }
        }
    ],
    "offset": 0,
    "recordSize": 1,
    "totalCount": 1
}

CreateDraft

创建数据集草稿

创建tensorbay数据集草稿, 目前仅支持一个分支上创建一个数据集草稿

请求路径

POST /v1/datasets/{id}/drafts

请求参数

Path

名称是否必须描述

id

数据集ID

Body

名称类型是否必须描述

title

string

草稿名称

branchName

string

branch 名称,缺省branch为main

description

string

草稿描述

请求示例

curl --location --request POST '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/drafts' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "title": "my first draft",
  "branchName": "main"
}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "draftNumber": 1
}
  • draftNumber: 草稿编号

UpdateDraft

更新数据集草稿

请求路径

PATCH /v1/datasets/{id}/drafts/{draftNumber}

请求参数

Path

名称是否必须描述

id

数据集ID

draftNumber

草稿编号

Body

名称类型是否必须描述

title

string

草稿名称

description

string

草稿描述

status

string

草稿状态, OPEN 或者 CLOSED

请求示例

curl --location --request POST '{service}/v1/datasets/11df9efe26644d0d99c566325779b415/drafts/1' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "title": "my first draft",
  "description": "desc change",
  "status": "OPEN"
}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

ListDraft

获取数据集草稿列表

获取数据集的草稿列表

请求路径

GET /v1/datasets/{id}/drafts

请求参数

Path

名称是否必须描述

id

数据集ID

Query

名称类型是否必须描述

limit

int

需大于0,默认128,单次最多获取128

offset

int

默认0

branchName

string

基于数据分支名进行筛选

status

string

基于状态进行筛选,支持 "OPEN", "COMMITTED", "CLOSED" 和 "ALL",默认为"OPEN"

请求示例

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/drafts?limit=1&offset=0' \
--header 'x-token: {your_accesskey}'  

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
  "drafts": [
    {
      "branchName": "main",
      "title": "my first draft",
      "number": 1,
      "description": "desc",
      "status": "OPEN",
      "parentCommitId": "00000000000000000000000000000000",
      "author": "aaa",
      "updateAt": 1616579313
    }
  ],
  "offset": 0,
  "recordSize": 1,
  "totalCount": 10
}

CommitDataset

提交数据集

将待提交状态的数据集更新为已提交状态,数据集一旦发布之后,该数据集不可再修改。

请求路径

POST /v1/datasets/{id}/commits

请求参数

Path

名称是否必须描述

id

数据集ID

Body

名称类型是否必须描述

draftNumber

int

草稿编号

title

string

提交信息,字符数量应小于255

description

string

描述

tag

string

数据集版本标签,字符数量应大于2小于80

请求示例

curl --location --request POST '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c'\
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json' \
--data-raw '{
  "draftNumber": "1",
  "title": "checkout a new version dataset",
  "description": "some desc",
  "tag": "v1.0"
}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
  "commitId": "fde63f357daf46088639e9f57fd81cad"
}

ListCommit

获取commit列表

获取数据集的commit列表

请求路径

GET /v1/datasets/{id}/commits

请求参数 Path

名称是否必须描述

id

数据集ID

Query

名称类型是否必须描述

commit

string

commit id 或者 commit tag 或者 branch name, 缺省为默认branch

limit

int

需大于0,默认128,单次最多获取128

offset

int

默认0

请求示例

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/commits?commit=main&limit=1&offset=0' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
  "commits": [
    {
      "parentCommitId": "0d213a06a85d46fa8662946bdb1afe7e",
      "commitId": "fde63f357daf46088639e9f57fd81cad",
      "title": "checkout a new version dataset",
      "description": "some desc",
      "dataCount": 10,
      "committer": {
        "date": 1617268600,
        "name": "graviti"
      }
    }
  ],
  "offset": 0,
  "recordSize": 1,
  "totalCount": 10
}

CreateTag

创建tag

创建tag

请求路径

POST /v1/datasets/{id}/tags

请求参数 Path

名称是否必须描述

id

数据集ID

Body

名称类型是否必须描述

commit

string

commit id 或者 commit tag 或者 branch name

name

string

tag 名称,字符数量应大于2小于80

请求示例

curl --location --request POST '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/tags' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "commit": "fde63f357daf46088639e9f57fd81cad",
  "name": "v1"
}'

返回结果

# 响应状态
HttpStatus 201
# 响应结果
{}

DeleteTag

删除tag

删除tag

请求路径

DELETE /v1/datasets/{id}/tags

请求参数 Path

名称是否必须描述

id

数据集ID

Body

名称类型是否必须描述

name

string

tag 名称

请求示例

curl --location --request DELETE '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/tags' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "v1"
}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

ListTag

获取tag

获取数据集的tag列表

请求路径

GET /v1/datasets/{id}/tags

请求参数 Path

名称是否必须描述

id

数据集ID

Query

名称类型是否必须描述

name

string

tag 名称,若存在,返回该tag信息

limit

int

需大于0,默认128,单次最多获取128

offset

int

默认0

请求示例

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/tags?name=v1&limit=1&offset=0' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "tags": [
        {
            "name": "v1",
            "commitId": "fde63f357daf46088639e9f57fd81cad",
            "parentCommitId": "f68b1375454f459b8a486b8d1f4d9ddb",
            "title": "first commit",
            "description": "some desc",
            "committer": {
                "name": "graviti",
                "date": 1617268600
            }
        }
    ],
    "offset": 0,
    "recordSize": 1,
    "totalCount": 1
}

UpdateNote

更新数据集notes 更新数据集note 请求路径

PATCH /v1/datasets/{id}/notes

请求参数 Path

名称是否必须描述

id

数据集ID

Body

名称类型是否必须描述

draftNumber

int

draft 序号

binPointCloudFields

string[]

bin格式点云的维度名称

isContinuous

bool

是否连续

请求示例

curl --location --request PATCH '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/notes' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "draftNumber": 1,
  "fileFormat": {
    "draftNumber": 1,
    "binPointCloudFields": [
       "X",
       "Y",
       "Z",
       "Intensity"
    ],
    "isContinuous": true
}'

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

GetNote

获取note

获取数据集的note

请求路径

GET /v1/datasets/{id}/notes

请求参数 Path

名称是否必须描述

id

数据集ID

Query

名称类型是否必须描述

draftNumber

int

草稿编号,draft和commit二者必须存在一个,但不可全部存在

commit

string

当commit不为空且正确时,查询该commit的data数据

请求示例

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/notes?draftNumber=1' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "isContinuous": true,
    "binPointCloudFields": [
        "X",
        "Y",
        "Z",
        "Intensity"
    ]
}

GetUser

获取用户信息

请求路径

GET /v1/users

请求示例

curl --location --request GET '{service}/v1/users' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "id":"f74836a28f2051d97d60944c48b766d1",
    "nickname":"Graviti",
    "email":null,
    "mobile":"1234567890",
    "description":"",
    "team":{
      "id":"xxx",
      "name":"teamName",
      "email":"team email",
      "description":"team desc"
    }
}

ListBenchmarks

获取benchmark列表

请求路径

GET /v1/benchmarks

请求参数

Query

名称类型是否必须描述

limit

int

需大于0,默认128,单次最多获取128

offset

int

默认0

请求示例

curl --location --request GET '{service}/v1/benchmarks' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "benchmarks":[
        {
            "name":"test",
            "benchmarkId":"675284b0926b4b96a725ef3fed77d0aa"
        }
    ],
    "offset":0,
    "recordSize":1,
    "totalCount":1
}

CreateEvaluation

创建评估

请求路径

POST /v1/benchmarks/{benchmarkId}/evaluations

请求参数

Path

名称是否必须描述

benchmarkId

Benchmark ID

Body

名称类型是否必须描述

datasetId

string

数据集Id

commitId

string

commit Id

请求示例

curl --location --request POST '{service}/v1/benchmarks/675284b0926b4b96a725ef3fed77d0aa/evaluations' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
   "datasetId": "11df9efe26644d0d99c566325779b415",
   "commitId": "ce3be905ba0f465c84c9fc39e53a89f8"
}'

返回结果

# 响应状态
HttpStatus 201
# 响应结果
{
    "evaluationId": "154e35bae8954f09969ef8c9445efd2c"
}

ListEvaluations

获取评估列表

请求路径

GET /v1/benchmarks/{benchmarkId}/evaluations

请求参数

Path

名称是否必须描述

benchmarkId

Benchmark ID

Query

名称类型是否必须描述

limit

int

需大于0,默认128,单次最多获取128

offset

int

默认0

请求示例

curl --location --request GET '{service}/v1/benchmarks/675284b0926b4b96a725ef3fed77d0aa/evaluations' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "evaluations":[
        {
            "name":"",
            "evaluationId":"aa50f8a172bc4064abab4d98a1283080",
            "number":0,
            "createdAt":1647353362,
            "finishedAt":null,
            "author":"Graviti",
            "status":"failed"
        }
    ],
    "offset":0,
    "recordSize":1,
    "totalCount":1
}

GetEvaluationResult

获取评估结果

请求路径

GET /v1/benchmarks/{benchmarkId}/evaluations/{evaluationId}/results

请求参数

Path

名称是否必须描述

benchmarkId

Benchmark ID

evaluationId

评估 ID

请求示例

curl --location --request GET '{service}/v1/benchmarks/675284b0926b4b96a725ef3fed77d0aa/evaluations/aa50f8a172bc4064abab4d98a1283080/results' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "result":{
        "categories":{
        },
        "overall":{
        }
    }
}

CreateOrder

创建订单(团队账户可用)

请求路径

POST /v1/orders

请求参数

Body

名称类型是否必须描述

datasetId

string

数据集Id

commitId

string

提交 ID

name

string

需求订单名称

deliveryTime

string

交付时间 例如 2021-12-14

labelType

string

标注类型 例如 BOX2D

serviceProvider

string

服务商名称 例如 格物钛

requirementDocumentUrl

string

需求文档地址

请求示例

curl --location --request POST '{service}/v1/orders' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
   "datasetId": "11df9efe26644d0d99c566325779b415",
   "commitId": "ce3be905ba0f465c84c9fc39e53a89f8",
   "name": "order name",
   "deliveryTime": "2022-02-22",
   "labelType": "BOX2D"
}'

返回结果

# 响应状态
HttpStatus 201
# 响应结果
{
    "id": "154e35bae8954f09969ef8c9445efd2c"
}

CreateTask

创建任务

请求路径

POST /v1/datasets/{id}/jobs

请求参数

Path

名称是否必须描述

id

数据集ID

Body

名称类型是否必须描述

title

string

任务标题

jobType

string

任务类型 squashAndMerge,basicSearch

description

string

任务描述

maxRetries

int

任务最大重试次数

arguments

map

任务参数 squashAndMerge

├-sourceBranchName

string

源分支

├-targetBranchName

string

目标分支

├-strategy

string

当不是用已有操作时移动重名时的策略,可选项有:abort,override 和 skip,缺省为 abort

├-title

string

标题

├-description

string

描述

arguments

map

任务参数 basicSearch

├-commit

string

commit ID

├-tag

string

tag名

├-branch

string

分支名

├-draft

string

草稿编号

├-unit

string

搜索单位 file, frame

├-segmentNames

string[]

segment 名字列表

请求示例

curl --location --request POST '{service}/v1/datasets/4a9e62ea88fd47b9b4b5f6bbbfe8ef64/jobs' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
   "title": "taskTitle",
   "jobType": "squashAndMerge",
   "arguments": {
     "sourceBranchName":"main",
     "targetBranchName":"test",
     "title":"argTitle"
   }
}'

返回结果

# 响应状态
HttpStatus 201
# 响应结果
{
    "jobId":"7e412ceb61c943178e70fa7b032a9d10",
    "createdAt":1647489812
}

DeleteTask

删除Job

请求路径

DELETE /v1/datasets/{id}/jobs/{taskId}

请求参数 Path

名称是否必须描述

id

数据集ID

taskId

job ID

Body

名称类型是否必须描述

jobType

string

任务类型 squashAndMerge,basicSearch

请求示例

curl --location --request DELETE '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/jobs/7e412ceb61c943178e70fa7b032a9d10' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

StopTask

中止Job

请求路径

POST /v1/datasets/{id}/jobs/{taskId}/abort

请求参数 Path

名称是否必须描述

id

数据集ID

taskId

job ID

Body

名称类型是否必须描述

jobType

string

任务类型 squashAndMerge,basicSearch

请求示例

curl --location --request POST '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/jobs/7e412ceb61c943178e70fa7b032a9d10/abort' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

GetTask

获取job详情

请求路径

GET /v1/datasets/{id}/jobs/{taskId}

请求参数

Path

名称是否必须描述

id

数据集ID

taskId

job ID

Query

名称类型是否必须描述

jobType

string

任务类型 squashAndMerge,basicSearch

请求示例

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/jobs/7e412ceb61c943178e70fa7b032a9d10' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "title":"task title",
    "jobId":"7e412ceb61c943178e70fa7b032a9d10",
    "jobType":"squashAndMerge",
    "arguments":{
        "description":"argDesc",
        "sourceBranchName":"branch1",
        "strategy":"abort",
        "targetBranchName":"main",
        "title":"argTitle"
    },
    "createdAt":1647489813,
    "startedAt":1647489813,
    "status":"FAILED",
    "errorMessage":"",
    "description":"task desc ",
    "result":{
        "draftNumber":4
    }
}

ListTasks

获取job列表

请求路径

GET /v1/datasets/{id}/jobs

请求参数

Path

名称是否必须描述

id

数据集ID

Query

名称类型是否必须描述

jobType

string

任务类型 squashAndMerge,basicSearch

status

string

Job状态, FAILED, SUCCESS

limit

int

需大于0,默认128,单次最多获取128

offset

int

默认0

请求示例

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/jobs' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{
    "jobs":[
        {
            "title":"task title",
            "jobId":"7e412ceb61c943178e70fa7b032a9d10",
            "jobType":"squashAndMerge",
            "arguments":{
                "description":"argDesc",
                "sourceBranchName":"branch1",
                "strategy":"abort",
                "targetBranchName":"main",
                "title":"argTitle"
            },
            "createdAt":1647489813,
            "startedAt":1647489813,
            "status":"FAILED",
            "errorMessage":"",
            "description":"task desc ",
            "result":{
                "draftNumber":4
            }
        }
    ],
    "offset":0,
    "recordSize":128,
    "totalCount":1
}

RetryTask

重试Job

请求路径

POST /v1/datasets/{id}/jobs/{taskId}/retry

请求参数 Path

名称是否必须描述

id

数据集ID

taskId

job ID

Body

名称类型是否必须描述

jobType

string

任务类型 squashAndMerge,basicSearch

请求示例

curl --location --request POST '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/jobs/7e412ceb61c943178e70fa7b032a9d10/retry' \
--header 'x-token: {your_accesskey}' 

返回结果

# 响应状态
HttpStatus 200
# 响应结果
{}

最后更新于