更新时间:2026-02-03 GMT+08:00

创建备份文件 - createBackupFile

功能介绍

创建备份文件

授权信息

当前API调用无需身份策略权限。

URI

POST /koodrive/ose/v1/backup/record/{recordId}/file

表1 路径参数

参数

是否必选

参数类型

描述

recordId

String

参数解释:

备份记录id

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

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

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

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

参数解释:

上传模式,枚举值:

  • multipart:分段上传

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

uploadType

Integer

参数解释:

上传类型

约束限制:

不涉及

取值范围:

枚举值:

  • 0:普通上传(暂时不支持)

  • 1:分段上传

  • 2:多版本上传(暂时不支持)

默认取值:

不涉及

autoRename

Integer

重名策略,枚举值:

  • 2:强制重命名,出现重名文件时,文件名末尾追加时间戳

  • 3:拒绝重命名,出现重名文件时,创建失败

  • 4:自动重命名,出现重名,且文件sha256值一样时,不会创建文件,否则按强制重命名逻辑执行

multiParts

MultiPartInfo object

参数解释:

分片信息列表

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

containerId

String

参数解释:

文件上传的目标空间的Id

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

proofCode

String

参数解释:

存储签名,使用文件的二级制数据生成,防撞库。当传入sha256时,该字段必传

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

hidden

Boolean

参数解释:

文件是否隐藏(该功能目前只有白名单用户使用)

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

scene

String

参数解释:

自定义属性,备份场景使用

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表4 MultiPartInfo

参数

是否必选

参数类型

描述

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

表5 响应Body参数

参数

参数类型

描述

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

返回信息

表6 MultiPartInfo

参数

参数类型

描述

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

创建备份文件响应体