# 任务标注结果导出

  针对平台上的任务随时可以导出标注完成的有效数据,通过接口发起导出会创建一个“导出”job。“导出”的操作为异步,创建了“导出”后,还需要根据“导出进度查询接口”来查询导出任务完成情况。

  “导出”的目的地可以是一个主机目录(也许是挂在NAS下的,导出文件服务器地址在nacos下进行配置,未配置时默认路径为本地文件服务器下的目录:labeldata.taskExportDir=/bzFile)。也可以是一个URL链接,也可以是一个标注平台上的数据集。如果是前两种情况,导出数据压缩为一个zip包,zip的命名方式为“任务id+导出时间戳”。标注平台会通过一个定时任务来对导出文件进行清理。

注意:
1、导出到URL的存放路径需要在nacos中进行配置。
  {fileServerPath}/{labeldata.taskExportDir}:url目录路径--nginx代理的目录路径;
  {fileServerOriginalPath}/{labeldata.taskExportDir}:实际路径--存在服务器的真实目录路径;
  fileServerPath:是nginx代理的虚拟地址;
  fileServerOriginalPath:是服务器nginx的实际映射地址
  labeldata.taskExportDir:导出部分使用的临时存放地址;
2、zip的自动删除逻辑:当本迭代第一次发布后,当晚12点对zip进行第一次清理,后面则每隔48小时,对保存的zip进行一次清理。

# 请求地址及方式

HTTP请求地址 请求方式
{service}/api/v1/exports POST

# 请求参数Body

  导出路径参数exportDir、exportUrl、exportNewDataset必须选择其中一个进行填写,否则返回参数错误报错信息;

序号 参数 类型 是否必填 长度限制 描述 示例值
1 taskId int 任务ID 9527
2 exportPattern Int 导出类型:
0:仅标注结果;
1:原始文件 + 标注结果;
1
3 exportDir int 是否导出到指定服务器地址,如果选择此选项,将导出到指定export目录中,文件名为taskId+导出时间戳;
0:false;1:true
0
4 exportUrl int 是否导出为url,如果选择此选项,在查询接口中返回具体url,文件名为task-id+导出时间戳;
0:false;1:true
0
5 exportNewDataset string 300 导出为新数据集的名字;
如果导出为新数据集时,默认原文件+标注结果
new_dataset

# 请求示例

{
  "taskId":9527,
  "exportPattern": 0,
  "exportNewDataset": "new_dataset"
}

# 返回结果(返回正确)

{
  "code":0,
  "message":"调用成功",
  "exportId":10012
}

# 返回结果说明

序号 返回项目 返回类型 项目说明
1 exportId int 任务标注结果导出处理进度id

# 返回结果(返回错误)

{
  "code":303,
  "message":"数据集已经存在"
}

# 错误码说明

序号 错误代码 错误提示信息
1 301 任务id不存在
2 301 任务id不能为空
3 302 导出类型不能为空
4 302 导出类型输入错误
5 303 数据集名称已经存在
6 303 数据集名称不允许有除下划线、点号、括号以外的其它特殊字符
8 303 数据集名称只能2到50个字符
9 304 导出路径参数exportLocaldir、exportUrl、exportNewDataset必须选择其中一个进行填写
10 304 exportUrl参数错误
11 304 exportDir参数错误
12 305 当前数据集关联的任务没有符合条件的标注结果