多版本功能可在用户意外覆盖或删除对象的情况下提供一种恢复手段。用户可以使用多版本功能来保存、检索和还原对象的各个版本,这样用户能够从意外操作或应用程序故障中轻松恢复数据。多版本功能还可用于数据保留和存档。
默认情况下,桶没有设置多版本功能。
本接口设置桶的多版本状态,用来开启或暂停桶的多版本功能。
设置桶的多版本状态为Enabled,开启桶的多版本功能:
上传对象时,系统为每一个对象创建一个唯一版本号,上传同名的对象将不再覆盖旧的对象,而是创建新的不同版本号的同名对象 可以指定版本号下载对象,不指定版本号默认下载最新对象; 删除对象时可以指定版本号删除,不带版本号删除对象仅产生一个带唯一版本号的删除标记,并不删除对象; 列出桶内对象列表时默认列出最新对象列表,可以指定列出桶内所有版本对象列表; 除了删除标记外,每个版本的 对象存储 均需计费(不包括对象元数据)。 设置桶的多版本状态为Suspended,暂停桶的多版本功能:
旧的版本数据继续保留 ; 上传对象时创建对象的版本号为null,上传同名的对象将覆盖原有同名的版本号为null的对象; 可以指定版本号下载对象,不指定版本号默认下载最新对象; 删除对象时可以指定版本号删除,不带版本号删除对象将产生一个版本号为null的删除标记,并删除版本号为null的对象; 除了删除标记外,每个版本的对象存储均需计费(不包括对象元数据)。 只有桶的所有者可以设置桶的多版本状态。
名称 | 类型 | IN | 必选 | 描述 |
---|---|---|---|---|
Authorization
|
string | header | 是 |
请求消息中可带的签名信息。 |
Date
|
string | header | 否 |
请求发起端的日期和时间,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默认值:无。 条件:如果消息头中带了x-obs-date字段,则可以不带该字段,其他情况下必选。 |
bucket_name
|
string | query | 是 |
请求的桶名称。 |
versioning
|
string | query | 是 |
versioning表示请求桶的多版本状态API。 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
Status
|
string | 是 |
标识桶的多版本状态。 |
成功请求响应。
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
Content-Length
|
string | 否 |
响应消息体的字节长度。 |
Connection
|
string | 否 |
指明与服务器的连接是长连接还是短连接。 |
Date
|
string | 否 |
OBS系统响应的时间。 |
ETag
|
string | 否 |
对象的base64编码的128位MD5摘要。ETag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。实际的ETag是对象的哈希值。ETag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,通过MD5加密后都有唯一的ETag。如果通过多段上传对象,则无论加密方法如何,MD5会拆分ETag,此类情况ETag就不是MD5的摘要。 |
x-obs-id-2
|
string | 否 |
帮助定位问题的特殊符号。 |
x-obs-request-id
|
string | 否 |
由OBS创建来唯一确定本次请求的值,可以通过该值来定位问题。 |