文档首页/ 云空间服务 KooDrive/ API参考/ API/ 文件多版本/ 创建历史多版本 - createHistoryVersions
更新时间:2025-10-21 GMT+08:00

创建历史多版本 - createHistoryVersions

功能介绍

创建历史多版本。

授权信息

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

URI

POST /koodrive/ose/v1/revision/createRevision

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

Authorization

String

该字段存储的是Access Token。调用KooDrive的API使用Token认证,拥有Token就代表拥有某种权限,在调用API的时候将Token加到请求消息头中,从而通过身份认证,获得操作API的权限。Access Token的获取请参考对应的开发手册,格式参考:Bearer+{access_token}

X-User-Id

String

用户id,用于app鉴权

X-Date

String

日期,用于app鉴权

Host

String

地址,用于app鉴权

X-Traceid

String

消息日志跟踪标识(必须58位)

language

String

国际化语言标识,符合i18n规范,如zh-CN表示简体中文,en-US表示美式英语,不传默认美式英语

表2 请求Body参数

参数

是否必选

参数类型

描述

createdTime

String

文件创建时间,格式:yyyy-MM-dd'T'HH:mm:ss'Z',样例:2023-08-18T05:43:49Z

fileId

String

文件id

keepPolicy

Integer

保存策略:0: 自动清理;1: 永久保存

mimeType

String

资源类型

sha256

String

用SHA256计算的文件完整摘要信息

length

Long

文件的长度,单位:字节

uploadMode=multipart时,取值应小于等于200GB

uploadMode

String

上传模式,枚举值:

  • multipart:分段上传

uploadType

Integer

上传类型,枚举值:

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

  • 1:分段上传

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

multiParts

Array of MultiPartInfo objects

分片信息列表

preHash

String

用SHA256计算的文件前1KB的摘要信息

proofCode

String

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

containerId

String

空间id

表3 MultiPartInfo

参数

是否必选

参数类型

描述

partNumber

Integer

分片编号

partSize

Long

分片长度,取值范围[5242880, 5368709120],最后一个分片取值范围[0, 5368709120]

minimum: 0

maximum: 5368709120

partOffset

Long

到上一个数据块为止的总长度,单位为字节,该字段仅在分片并行上传时有效,分片并行上传时,除最后一个分片外,分片并行上传的其它分片大小,必须是 64字节的倍数

hashCtx

Array of longs

用于迭代计算SHA256的上下文,该字段仅在分片并行上传时有效。对于SHA1,取值为上一个数据块SHA1的第1-5个32位变量。对于SHA256,取值为上一个数据块SHA256的第1-8个32位变量。

注:分片并行上传时除第一个分片外其他分片必填。

uploadUrl

String

文件上传的URL,返回参数,上传文件需要使用PUT方法

partId

String

分片对象ID

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

id

String

Asset ID

versionId

String

Asset版本ID

version

String

版本号

keepPolicy

String

历史版本的保存策略

0: 自动清理,保留两个版本,第三个版本时淘汰最早的(目的是为了防止并发场景下获取失败)

1: 永久保存

rapidUpload

Boolean

是否秒传命中(true表示秒传命中)

uploadId

String

文件上传Id

multiParts

Array of MultiPartInfo objects

分片信息,在分段上传时(uploadMode=multipart)返回

matchedPreHash

Boolean

存在匹配的preHash

code

String

返回码

msg

String

返回信息

表5 MultiPartInfo

参数

参数类型

描述

partNumber

Integer

分片编号

partSize

Long

分片长度,取值范围[5242880, 5368709120],最后一个分片取值范围[0, 5368709120]

minimum: 0

maximum: 5368709120

partOffset

Long

到上一个数据块为止的总长度,单位为字节,该字段仅在分片并行上传时有效,分片并行上传时,除最后一个分片外,分片并行上传的其它分片大小,必须是 64字节的倍数

hashCtx

Array of longs

用于迭代计算SHA256的上下文,该字段仅在分片并行上传时有效。对于SHA1,取值为上一个数据块SHA1的第1-5个32位变量。对于SHA256,取值为上一个数据块SHA256的第1-8个32位变量。

注:分片并行上传时除第一个分片外其他分片必填。

uploadUrl

String

文件上传的URL,返回参数,上传文件需要使用PUT方法

partId

String

分片对象ID

请求示例

通过“分片上传”方式创建文件多版本的元数据,该示例指定了一个分片,后续响应会返回对应分片的上传地址,需要将对应分片通过PUT请求上传对应的分片。

POST koodrive/ose/v1/revision/createRevision

Authorization:Bearer+10f88*********4791e9ff

{
  "containerId": "IAAAKIRZGifzJgncA1605122035640590977",
  "fileId": "FkiferVNK5NwXck7XXBhPLIRhV1GayJPc",
  "mimeType": "application/vnd.rar",
  "keepPolicy": null,
  "sha256": "d4bb3c0502f28a8e9b1485b55aa410c92a0e4ba07c15548253f3f8f698c7f014",
  "length": 211031,
  "uploadType": 1,
  "autoRename": 2,
  "uploadMode": "multipart",
  "proofCode": "1ca9e8220831d294df0b5aec1d448a4553b125ad0ec307fd",
  "multiParts": [
    {
      "hashCtx": [],
      "partNumber": 1,
      "partOffset": 0,
      "partSize": 211031
    }
  ]

}

响应示例

状态码:200

上传文件多版本第一步完成返回的信息

{
  "id" : "FiqlY2tOD92pecLKqmktDV5yWZh_bg9XW",
  "versionId" : "1760377209408816384",
  "keepPolicy" : "0",
  "multiParts" : [ {
    "partNumber" : 1,
    "partSize" : 2139005,
    "partOffset" : 0,
    "hashCtx" : [ ],
    "uploadUrl" : "https://obs-koodrive-test-2.obs.cn-north-4.myhuaweicloud.com/552724cc05ef42bbacdc0f52cd0f3d93086?partNumber=1&uploadId=00000198E139C5B1B0447F9253A9BCC4&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250825T123516Z&X-Amz-SignedHeaders=content-length%3Bhost&X-Amz-Expires=3600&X-Amz-Credential=HPUA1TI53C2TRM9BJTSA%2F20250825%2Fnorth-4%2Fs3%2Faws4_request&X-Amz-Signature=91b2570f27a90fd7245f6b101ccd56575f4ab6ce3f765e7c88328775ab821d54"
  } ],
  "code" : 0,
  "msg" : "success"
}

状态码

状态码

描述

200

上传文件多版本第一步完成返回的信息