上传文件 | 大装置帮助中心
跳到主要内容

上传文件

接口调用说明

  • 上传本地文件: 先调用接口一创建上传任务,再人工上传文件到对象存储临时路径(接口返回值response.source_path),最后调用接口二Web端完成文件上传.

  • 上传对象存储文件: 直接调用接口一创建上传任务即可完成上传.

接口一:创建文件上传任务.

POST /aids/aidmp/data/v2/dataSpaces/{data_space_id}/repos/{repo_id}/branches/{branch_id}/uploadFilesTasks

请求头(Request Header)

参考认证(authentication)

请求参数(Request Parameters)

名称类型必须位置默认值取值范围描述
data_space_idstringpath--数据空间ID.
repo_idstringpath--数据集ID.
branch_idstringpath--分支ID.

请求体(Request Body)

名称类型必须默认值取值范围描述
task_typeinteger($enum)--上传任务的类型.
commit_idstring--新建commitID.
bucket_namestring--文件的所在的源桶名称.
oss_endpointstring--对象存储的endpoint.
source_pathstring--上传的源路径.
target_pathstring--上传文件的远端目的路径.
commit_msgstring--版本提交信息.
real_user_infoobject--真实请求用户信息.
oss_configobject--对象存储信息.
extra_infoobject--额外信息.

其中,task_type有如下情况

状态数值含义
LOCAL_UPLOAD0本地上传
AOSS_UPLOAD1对象存储上传
WEB_UPLOAD2web端上传
SENSEDATA_UPLOAD3senseData上传
MOSAIC_UPLOAD4数据脱敏
LOCAL_DOWNLOAD5导出到本地
AOSS_DOWNLOAD6导出到对象存储

其中,real_user_info的参数如下

名称类型描述
user_idstring用户id.
user_namestring用户名.

其中,oss_config的参数如下

名称类型描述
bucket_namestring文件的所在的源桶名称.
oss_endpointstring对象存储的endpoint.
access_keystring对象存储的access key.
secret_keystring对象存储的secret key.
virtual_host_styleboolaoss需要为false,阿里云oss需要为true.
disable_sslbool一些自建的没配置https的对象存储需要为true.
insecure_skip_verifybool一些自建的配置了https但是没配置证书的需要为true.

其中,extra_info的参数如下

名称类型描述
related_idstring关联任务的ID.
auth_infoobject授权信息.

其中,auth_info的参数如下

名称类型描述
auth_stateinteger($enum)授权状态.
authority_typeinteger($enum)授权类型.
auth_idstring授权项目id.

其中,auth_state有如下情况

状态数值含义
AUTH_REVIEW_STATUS_UNKNOWN0占位
AUTH_REVIEWING1审核中
AUTH_SUCCEED2审核通过
AUTO_PASSED3自动通过
AUTH_REJECTED4审核驳回

其中,authority_type有如下情况

状态数值含义
AUTHORITY_TYPE_UNKNOWN0占位
DATASET1关联历史数据集
AUTH_CENTER2关联授权中心
INSENSITIVE3无授权,不含人脸等敏感信息
NOT_DESENSITIZED4无授权,需脱敏打码处理
SEALING5无授权,封存处理
DESENSITIZED6无授权,数据已脱敏打码

请求示例(Request Example)

curl --location 'https://aidmp.cn-sh-01.sensecoreapi.dev/aids/aidmp/data/v2/dataSpaces/ecfcd941-575c-11ee-9d6f-46f164dda338/repos/b2dc6d90-6b68-46e2-a1d1-fd4b323eef40/branches/a0100b78-0c88-45a3-b561-ceb71a777f01/uploadFilesTasks' \
--header 'Content-Type: application/json' \
--data '{
"target_path": "dir1",
"commit_msg": "上传 000000017627.jpg",
"task_type": 2
}'

响应(Response)

名称类型描述
namestring上传任务ID.
metadataobject上传任务元信息.
doneboolean接口是否完成.
errorobject错误信息.
responseobject上传任务.

其中,metadata的参数如下

名称类型描述
create_timestring($date-time)任务创建时间.
task_stateinteger($enum)任务状态.
succeed_file_numinteger已成功上传的文件个数.
finish_timestring($date-time)任务完成时间.
total_file_sizeinteger总文件大小.
total_file_countinteger总文件数.
successed_file_sizeinteger已成功文件大小.
successed_file_countinteger已成功文件数.
failed_file_sizeinteger失败文件大小.
failed_file_countinteger失败文件数.
filesarray[object]文件列表.
err_msgstring错误信息.
commit_msgstring版本提交信息.
creator_namestring创建者用户名.
target_branchstring上传目标分支.
idstring上传任务ID.
task_typeinteger($enum)上传任务的类型.
commit_idstring新建commitID.
bucket_namestring文件的所在的源桶名称.
oss_endpointstring对象存储的endpoint.
source_pathstring上传的源路径.
target_pathstring上传文件的远端目的路径.

其中,task_state有如下情况

状态数值含义
STARTED0开始,默认值
RUNNING1任务正在运行
FINISHED2任务已完成
ERROR3任务出错失败
CANCEL4任务已取消
REVIEW5数据审核状态
REJECTED6数据审核驳回状态
SENSEDATA_TRANSFER7senseData数据传输状态
SENSEDATA_TRANSFER_FAILED8senseData数据传输失败状态

其中,files的参数如下

名称类型描述
pathstring文件路径.
stateinteger($enum)文件状态.
errinteger($enum)上传文件错误.
sizeinteger文件大小.

其中,state有如下情况

状态数值含义
PENDING0待办
SUCCESSED1成功
FAILED2失败

其中,err有如下情况

状态数值含义
UNKNOWN_ERROR0系统错误
AOSS_SERVER_ERROR1AOSS报错
INVALID_FORMAT_ERROR2格式校验不通过
FORBIDDEN_ERROR3无权限
NOT_FOUND_ERROR4文件未找到

其中,error的参数如下

名称类型描述
codeinteger错误码.
messagestring错误信息.
detailsobject错误详情.

其中,response的参数如下

名称类型描述
task_typeinteger($enum)上传任务的类型.
commit_idstring新建commitID.
bucket_namestring文件的所在的源桶名称.
oss_endpointstring对象存储的endpoint.
source_pathstring上传的源路径.
target_pathstring上传文件的远端目的路径.
commit_msgstring版本提交信息.
real_user_infoobject真实请求用户信息.
oss_configobject对象存储信息.
extra_infoobject额外信息.

响应示例(Response Example)

{
"name": "31650360-1689-445d-bdd7-5dba6c3415ac",
"metadata": {
"@type": "type.googleapis.com/sensecore.graviton.datamanagement.v1.UploadFilesMetadata",
"create_time": "2023-12-05T08:37:40.821Z",
"task_state": 0,
"succeed_file_num": "0",
"finish_time": "2023-12-05T08:37:40.821Z",
"total_file_size": "0",
"total_file_count": "0",
"successed_file_size": "0",
"successed_file_count": "0",
"failed_file_size": "0",
"failed_file_count": "0",
"files": [],
"err_msg": "",
"commit_msg": "上传 00319.parquet",
"creator_name": "testdata1024",
"target_branch": "master",
"id": "31650360-1689-445d-bdd7-5dba6c3415ac",
"task_type": 2,
"commit_id": "c984e0b6bd574b8c83b540e55c7b5fa4",
"bucket_name": "testdata",
"oss_endpoint": "http://aoss-business.cn-sh-01.sensecoreapi-oss.tech",
"source_path": "graviton/repo/452ba6a5-06bc-4b6b-a121-c30797ad3131/tmp/31650360-1689-445d-bdd7-5dba6c3415ac",
"target_path": "."
},
"done": false,
"response": {
"@type": "type.googleapis.com/sensecore.graviton.datamanagement.v1.UploadFilesTask",
"task_type": 0,
"commit_id": "c984e0b6bd574b8c83b540e55c7b5fa4",
"bucket_name": "testdata",
"oss_endpoint": "http://aoss-business.cn-sh-01.sensecoreapi-oss.tech",
"source_path": "graviton/repo/452ba6a5-06bc-4b6b-a121-c30797ad3131/tmp/31650360-1689-445d-bdd7-5dba6c3415ac",
"target_path": ".",
"commit_msg": "",
"real_user_info": null,
"oss_config": null,
"extra_info": null
}
}

接口二:Web端完成文件上传.

POST /aids/aidmp/data/v2/dataSpaces/{data_space_id}/repos/{repo_id}/uploadFilesOperations/{upload_task_id}:finishWebUpload

请求头(Request Header)

参考认证(authentication)

请求参数(Request Parameters)

名称类型必须位置默认值取值范围描述
data_space_idstringpath--数据空间ID.
repo_idstringpath--数据集ID.
upload_task_idstringpath--上传任务ID.

请求体(Request Body)

名称类型必须默认值取值范围描述
repo_idstring--数据集ID.
task_idstring--上传任务ID.
filesarray[object]--上传对象存储临时路径失败的文件列表.
failed_file_sizestring--上传到对象存储临时路径失败文件大小.
failed_file_countstring--上传到对象存储临时路径失败文件数量.

其中,files的参数如下

名称类型描述
pathstring文件路径.
stateinteger($enum)文件状态.
errinteger($enum)上传文件错误.
sizeinteger文件大小.

其中,state有如下情况

状态数值含义
PENDING0待办
SUCCESSED1成功
FAILED2失败

其中,err有如下情况

状态数值含义
UNKNOWN_ERROR0系统错误
AOSS_SERVER_ERROR1AOSS报错
INVALID_FORMAT_ERROR2格式校验不通过
FORBIDDEN_ERROR3无权限

请求示例(Request Example)

curl --location 'https://aidmp.cn-sh-01.sensecoreapi.dev/aids/aidmp/data/v2/dataSpaces/ecfcd941-575c-11ee-9d6f-46f164dda338/repos/b2dc6d90-6b68-46e2-a1d1-fd4b323eef40/uploadFilesOperations/62f5b134-63f9-4c59-a877-b14922833e93:finishWebUpload' \
--header 'Content-Type: application/json' \
--data '{
"failed_file_count": 0,
"failed_file_size": 0,
"files": []
}'

响应示例(Response Example)

正常HTTP状态码为200,无特殊返回。