创建备份文件 - createBackupFile
功能介绍
创建备份文件
授权信息
当前API调用无需身份策略权限。
URI
POST /koodrive/ose/v1/backup/record/{recordId}/file
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| recordId | 是 | String | 参数解释: 备份记录id 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| x-backup-lock-id | 是 | String | 参数解释: 锁id 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| Authorization | 是 | String | 参数解释: 该字段存储的是 Access Token。 调用KooDrive的API使用Token认证,拥有Token就代表拥有某种权限,在调用API的时候将Token加到请求消息头中,从而通过身份认证,获得操作API的权限。 约束限制: 格式参考:Bearer+/access token} 取值范围: Access Token的获取请参考对应的开发手册 默认取值: 不涉及 |
| X-User-Id | 是 | String | 参数解释: koodrive侧用户id,用于appId鉴权 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| X-Date | 是 | String | 参数解释: 签名时间,用于appId鉴权 约束限制: 距当前时间15分钟以内,不能晚于当前时间 取值范围: yyyMMdd'T'HHmmss'Z',例:20251103T070140Z 默认取值: 不涉及 参数解释: 签名时间,用于appId鉴权 约束限制: 距当前时间15分钟以内,不能晚于当前时间 取值范围: yyyMMdd'T'HHmmss'Z',例:20251103T070140Z 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| description | 否 | String | 参数解释: 文件描述 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| mimeType | 否 | String | 参数解释: 资源类型 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| fileName | 是 | String | 参数解释: 文件名,不能包括'<>|:"*?/',不能等于'..','.','',最长250个字符 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| fileType | 否 | String | 参数解释: 文件类型,业务自定义 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| parentFolder | 否 | Array of strings | 参数解释: 父目录标识列表,当目标为根目录时值为root 当前只支持一个父目录,如果传入多个父目录id,只会取第一个作为父目录id 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| sha256 | 是 | String | 参数解释: 用SHA256计算的文件完整摘要信息 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| length | 是 | Long | 参数解释: 文件的长度,单位:字节 uploadMode=multipart时,取值应小于等于200GB 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| uploadMode | 否 | String | 参数解释: 上传模式,枚举值: 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| uploadType | 否 | Integer | 参数解释: 上传类型 约束限制: 不涉及 取值范围: 枚举值: 默认取值: 不涉及 |
| autoRename | 否 | Integer | 重名策略,枚举值: |
| multiParts | 否 | MultiPartInfo object | 参数解释: 分片信息列表 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| containerId | 否 | String | 参数解释: 文件上传的目标空间的Id 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| proofCode | 否 | String | 参数解释: 存储签名,使用文件的二级制数据生成,防撞库。当传入sha256时,该字段必传 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| hidden | 否 | Boolean | 参数解释: 文件是否隐藏(该功能目前只有白名单用户使用) 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| scene | 否 | String | 参数解释: 自定义属性,备份场景使用 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| partNumber | 是 | Integer | 参数解释: 分片编号 约束限制: 分片编号取值1-10000 取值范围: 不涉及 默认取值: 不涉及 |
| partSize | 是 | Long | 参数解释: 分片长度 约束限制: 不涉及 取值范围: minimum: 0 -maximum: 5368709120,取值范围[5242880, 5368709120],最后一个分片取值范围[0, 5368709120] 默认取值: 不涉及 |
| partOffset | 否 | Long | 参数解释: 到上一个数据块为止的总长度 约束限制: 单位为字节,该字段仅在分片并行上传时有效,分片并行上传时,除最后一个分片外,分片并行上传的其它分片大小,必须是 64字节的倍数 取值范围: 不涉及 默认取值: 不涉及 |
| hashCtx | 否 | Array of longs | 参数解释: 用于迭代计算SHA256的上下文 约束限制: 该字段仅在分片并行上传时有效。对于SHA256,取值为上一个数据块SHA256的第1-8个32位变量。 注:分片并行上传时除第一个分片外其他分片必填。 取值范围: 不涉及 默认取值: 不涉及 |
| uploadUrl | 否 | String | 参数解释: 文件上传的URL 约束限制: 上传文件需要使用PUT方法 取值范围: 不涉及 默认取值: 不涉及 |
| partId | 否 | String | 参数解释: 分片对象ID 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| fileId | String | 文件id |
| rapidUpload | Boolean | 是否秒传命中(true表示秒传命中) |
| containerId | String | 文件所在空间id |
| fileName | String | 上传后文件名,如果没有重命名则和请求参数的文件名保持一致 |
| uploadId | String | 文件上传Id |
| parentFolder | Array of strings | 上传后文件所在父目录Id |
| exist | Boolean | 文件是否存在,仅在入参autoRename=4时使用,当文件名一致,且文件的sha256一致,返回true |
| multiParts | Array of MultiPartInfo objects | 分片信息,在分段上传时(uploadMode=multipart)返回 |
| matchedPreHash | Boolean | 存在匹配的preHash |
| existFileId | String | 重名策略为拒绝重命名且存在重名文件时,会返回已存在的文件id |
| code | String | 返回码 |
| msg | String | 返回信息 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| partNumber | Integer | 参数解释: 分片编号 约束限制: 分片编号取值1-10000 取值范围: 不涉及 默认取值: 不涉及 |
| partSize | Long | 参数解释: 分片长度 约束限制: 不涉及 取值范围: minimum: 0 -maximum: 5368709120,取值范围[5242880, 5368709120],最后一个分片取值范围[0, 5368709120] 默认取值: 不涉及 |
| partOffset | Long | 参数解释: 到上一个数据块为止的总长度 约束限制: 单位为字节,该字段仅在分片并行上传时有效,分片并行上传时,除最后一个分片外,分片并行上传的其它分片大小,必须是 64字节的倍数 取值范围: 不涉及 默认取值: 不涉及 |
| hashCtx | Array of longs | 参数解释: 用于迭代计算SHA256的上下文 约束限制: 该字段仅在分片并行上传时有效。对于SHA256,取值为上一个数据块SHA256的第1-8个32位变量。 注:分片并行上传时除第一个分片外其他分片必填。 取值范围: 不涉及 默认取值: 不涉及 |
| uploadUrl | String | 参数解释: 文件上传的URL 约束限制: 上传文件需要使用PUT方法 取值范围: 不涉及 默认取值: 不涉及 |
| partId | String | 参数解释: 分片对象ID 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求示例
创建备份文件请求示例
/koodrive/ose/v1/backup/record/1842862763295184641/file
Authorization:Bearer+60f4ccc7b1********3dd9a68068
x-backup-lock-id: 78e41c7e-db02-4d55-85b3-8153e4fefd2e@102
{
"containerId": "IAAFfyRNd07vFgAAA1395638440594444417",
"parentFolder": [
"root"
],
"mimeType": "",
"fileType": 15,
"fileName": "123.jpg",
"sha256": "c0ad38a9864a3261a92a3e9daf0d325c5ca45a7a9039ee681d608a5392350286",
"length": 108274,
"uploadType": 1,
"autoRename": 2,
"uploadMode": "multipart",
"multiParts": [
{
"hashCtx": [],
"partNumber": 1,
"partOffset": 0,
"partSize": 108274
}
],
"proofCode": "03dfd964183d72456b7c3093ecaddfb92e851f3bc6611489831ef91aebdda215"
} 响应示例
状态码:200
创建备份文件响应体
{
"fileId" : "FmHi5mWOmHsgHs8hrOKpC-IslaiKmJh7I",
"containerId" : "IAAFfyRNd07vFgAAA1395638440594444417",
"fileName" : "123_20251218_093235.jpg",
"uploadId" : "0000019B2F1665EEF008B1D596D3B1A9",
"parentFolder" : [ "DE13Tu8WAAAArootIAAFfyRNd07vFgAAA1395638440594444417" ],
"exist" : false,
"multiParts" : [ {
"partNumber" : 1,
"partSize" : 108274,
"partOffset" : 0,
"hashCtx" : [ ],
"uploadUrl" : "https://obs-koodrive-test-2.obs.cn-north-4.myhuaweicloud.com/e24ce0b4cc1e49c49fcdba320ca815fc086?partNumber=1&uploadId=0000019B2F1665EEF008B1D596D3B1A9&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20251218T013236Z&X-Amz-SignedHeaders=content-length%3Bhost&X-Amz-Expires=3600&X-Amz-Credential=HPUA8WFGVY35JSJDL1GV%2F20251218%2Fnorth-4%2Fs3%2Faws4_request&X-Amz-Signature=ccb5bf60daf3ebe34ba974bc0b6e4a37ce618af008795368f01b4d00d8151e7d"
} ],
"code" : 0,
"msg" : "成功"
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 创建备份文件响应体 |