创建数据集指定版本导入/导出任务.
POST /v2/dataSpaces/{data_space_id}/repos/{repo_id}/commits/{commit_id}/transferTasks
请求头(Request Header)
请求参数(Request Parameters)
| 名称 | 类型 | 必须 | 位置 | 默认值 | 取值范围 | 描述 |
|---|---|---|---|---|---|---|
| data_space_id | string | 是 | path | - | - | 数据空间ID. |
| repo_id | string | 是 | path | - | - | 数据集ID. |
| commit_id | string | 是 | path | - | - | 版本ID. |
请求体(Request Body)
| 名称 | 类型 | 必须 | 默认值 | 取值范围 | 描述 |
|---|---|---|---|---|---|
| task_type | integer($enum) | 是 | - | - | 上传任务的类型. |
| commit_id | string | 是 | - | - | 新建commitID. |
| source_path | string | 是 | - | - | 上传的源路径. |
| target_path | string | 是 | - | - | 上传文件的远端目的路径. |
| commit_msg | string | 否 | - | - | 版本提交信息. |
| oss_config | object | 否 | - | - | 对象存储配置信息. |
| transfer_type | integer($enum) | 否 | - | - | 传输类型. |
其中,task_type有如下情况
| 状态 | 数值 | 含义 |
|---|---|---|
| LOCAL_UPLOAD | 0 | 本地上传 |
| AOSS_UPLOAD | 1 | 对象存储上传 |
| WEB_UPLOAD | 2 | web端上传 |
| LOCAL_DOWNLOAD | 5 | 导出到本地 |
| AOSS_DOWNLOAD | 6 | 导出到对象存储 |
其中,oss_config的参数如下
| 名称 | 类型 | 描述 |
|---|---|---|
| bucket_name | string | 文件的所在的源桶名称. |
| oss_endpoint | string | 对象存储的endpoint. |
| access_key | string | 对象存储的access key. |
| secret_key | string | 对象存储的secret key. |
| virtual_host_style | bool | aoss需要为false,阿里云oss需要为true. |
| disable_ssl | bool | 一些自建的没配置https的对象存储需要为true. |
| insecure_skip_verify | bool | 一些自建的配置了https但是没配置证书的需要为true. |
其中,transfer_type有如下情况
| 状态 | 数值 | 含义 |
|---|---|---|
| TRANSFER_TYPE_UNDEFINED | 0 | 未定义 |
| TRANSFER_TYPE_UPLOAD | 1 | 导入 |
| TRANSFER_TYPE_DOWNLOAD | 2 | 导出 |
请求示例(Request Example)
curl 'https://aidmp.cn-sh-01.sensecoreapi.tech/aids/aidmp/data/v2/dataSpaces/6794a734-54e7-11ed-b7c4-76337673fb0d/repos/452ba6a5-06bc-4b6b-a121-c30797ad3131/commits/91de91e3b6ea40cf99f929d0c9a7c6b7/transferTasks' \
--header 'Content-Type: application/json' \
--data '{
"target_path":"test01/00000",
"source_path":"00001",
"task_type":6,
"oss_config":{
"bucket_name":"klz-test",
"oss_endpoint":"https://aoss.cn-sh-01.sensecoreapi-oss.tech",
"access_key":"***",
"secret_key":"***"
}}'
响应(Response)
| 名称 | 类型 | 描述 |
|---|---|---|
| name | string | 传输任务ID. |
| metadata | object | 传输任务元信息. |
| done | boolean | 接口是否完成. |
| error | object | 错误信息. |
| response | object | 数据传输任务. |
其中,metadata的参数如下
| 名称 | 类型 | 描述 |
|---|---|---|
| id | string | 数据传输任务ID. |
| task_type | integer($enum) | 数据传输任务的类型. |
| task_state | integer($enum) | 传输任务状态. |
| target_branch | string | 上传任务的目标分支. |
| commit_id | string | 版本ID. |
| commit_msg | string | 版本提交信息. |
| creator_name | string | 创建者用户名. |
| oss_config | object | 对象存储配置信息. |
| source_path | string | 上传的源路径. |
| target_path | string | 上传文件的远端目的路径. |
| err_msg | string | 错误信息. |
| total_file_size | integer | 总文件大小. |
| total_file_count | integer | 总文件数. |
| successed_file_size | integer | 已成功文件大小. |
| successed_file_count | integer | 已成功文件数. |
| failed_file_size | integer | 失败文件大小. |
| failed_file_count | integer | 失败文件数. |
| files | array[object] | 文件列表. |
| create_time | string($date-time) | 任务创建时间. |
| finish_time | string($date-time) | 任务完成时间. |
| transfer_type | integer($enum) | 传输类型. |
| repo_id | string | 数据集ID. |
| repo_display_name | string | 数据集名称. |
其中,task_state有如下情况
| 状态 | 数值 | 含义 |
|---|---|---|
| STARTED | 0 | 开始,默认值 |
| RUNNING | 1 | 任务正在运行 |
| FINISHED | 2 | 任务已完成 |
| ERROR | 3 | 任务出错失败 |
| CANCEL | 4 | 任务已取消 |
| REVIEW | 5 | 数据审核状态 |
| REJECTED | 6 | 数据审核驳回状态 |
| SENSEDATA_TRANSFER | 7 | senseData数据传输状态 |
| SENSEDATA_TRANSFER_FAILED | 8 | senseData数据传输失败状态 |
其中,files的参数如下
| 名称 | 类型 | 描述 |
|---|---|---|
| path | string | 文件路径. |
| state | integer($enum) | 文件状态. |
| err | integer($enum) | 上传文件错误. |
| size | integer | 文件大小. |
其中,state有如下情况
| 状态 | 数值 | 含义 |
|---|---|---|
| PENDING | 0 | 待办 |
| SUCCESSED | 1 | 成功 |
| FAILED | 2 | 失败 |
其中,err有如下情况
| 状态 | 数值 | 含义 |
|---|---|---|
| UNKNOWN_ERROR | 0 | 系统错误 |
| AOSS_SERVER_ERROR | 1 | AOSS报错 |
| INVALID_FORMAT_ERROR | 2 | 格式校验不通过 |
| FORBIDDEN_ERROR | 3 | 无权限 |
| NOT_FOUND_ERROR | 4 | 文件未找到 |
其中,error的参数如下
| 名称 | 类型 | 描述 |
|---|---|---|
| code | integer | 错误码. |
| message | string | 错误信息. |
| details | object | 错误详情. |
其中,response的参数如下
| 名称 | 类型 | 描述 |
|---|---|---|
| task_type | integer($enum) | 上传任务的类型. |
| commit_id | string | 新建commitID. |
| source_path | string | 上传的源路径. |
| target_path | string | 上传文件的远端目的路径. |
| commit_msg | string | 版本提交信息. |
| oss_config | object | 对象存储配置信息. |
| transfer_type | integer($enum) | 传输类型. |
响应示例(Response Example)
{
"name": "803a1c0f-a530-4119-acaa-344be4c7a92f",
"metadata": {
"@type": "type.googleapis.com/sensecore.graviton.datamanagement.v2.TransferTaskMetadata",
"id": "",
"task_type": 0,
"task_state": 0,
"target_branch": "",
"commit_id": "",
"commit_msg": "",
"creator_name": "",
"oss_config": null,
"source_path": "",
"target_path": "",
"err_msg": "",
"total_file_size": "0",
"total_file_count": "0",
"succeed_file_size": "0",
"succeed_file_count": "0",
"failed_file_size": "0",
"failed_file_count": "0",
"files": [],
"create_time": "2023-12-05T07:22:47.279Z",
"finish_time": "2023-12-05T07:22:47.279Z",
"transfer_type": 0,
"repo_id": "",
"repo_display_name": ""
},
"done": false,
"response": {
"@type": "type.googleapis.com/sensecore.graviton.datamanagement.v2.TransferTask",
"task_type": 6,
"commit_id": "91de91e3b6ea40cf99f929d0c9a7c6b7",
"source_path": "00001",
"target_path": "test01/00000",
"commit_msg": "",
"oss_config": {
"bucket_name": "klz-test",
"oss_endpoint": "https://aoss.cn-sh-01.sensecoreapi-oss.tech",
"access_key": "044C2FDEBBC44E4B9E1B0574746D6BA7",
"secret_key": "",
"virtual_host_style": false,
"disable_ssl": false,
"insecure_skip_verify": false
},
"transfer_type": 2
}
}