版本控制是针对存储空间(Bucket)级别的数据保护功能。开启版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。您在错误覆盖或者删除文件(Object)后,能够将Bucket中存储的Object恢复至任意时刻的历史版本。

背景信息

版本控制功能本身不收取任何费用,但对当前版本和所有历史版本的文件都会收取存储费用。此外,若您对历史版本文件进行下载或恢复等操作,还会产生相应的请求费用、流量费用等。为避免不必要的存储费用,请及时删除不再需要的历史版本文件。计费详情,请参见计量项与计费项

开启版本控制

开启版本控制后,OSS会为Bucket中所有Object的每个版本指定唯一的versionId。

  • 新建Bucket时开启版本控制。
    1. 登录OSS管理控制台
    2. 单击Bucket列表,然后单击创建Bucket
    3. 创建Bucket页面配置各项参数。

      其中,版本控制区域选择开通。其他参数的配置详情,请参见创建存储空间

    4. 单击确定
  • 对已创建的Bucket开启版本控制。
    1. 单击Bucket列表,然后单击目标Bucket名称。
    2. 单击冗余与容错 > 版本控制
    3. 单击设置,然后版本控制状态选择开通
    4. 单击保存

开启版本控制后,您可以在文件管理页面查看所有版本的文件。如果仅需查看文件的当前版本,请将历史版本状态设置为隐藏。隐藏历史版本并不能提升列举文件的性能,如果列举文件时页面响应过慢,请参见响应速度下降排查并解决。

恢复历史版本Object

您可以将指定历史版本Object恢复为最新版本。

  1. 在Bucket管理页面,单击文件管理
  2. 将指定历史版本的Object恢复为当前版本。
    注意 同一个文件仅允许恢复其中的某个历史版本,且该历史版本不能为删除标记。
    • 恢复单个文件

      单击目标历史版本右侧的恢复

    • 恢复多个文件

      选中目标历史版本,然后选择批量操作 > 恢复

下载指定版本Object

您可以下载指定版本Object。

  1. 在Bucket管理页面,单击文件管理
  2. 单击目标版本的Object,在弹出的面板单击文件URL右侧的下载
  3. 选择Object的保存位置,单击保存

删除历史版本Object

为了减少存储费用,建议您及时删除不再需要的历史版本Object。

警告 历史版本文件被删除后无法恢复,请谨慎操作。
  1. 在Bucket管理页面,单击文件管理
  2. 找到不再需要的历史版本,单击右侧的彻底删除
    您也可以批量选中待删除的历史版本,单击批量操作 > 彻底删除
  3. 单击确定

您也可以通过配置生命周期规则,定期自动删除历史版本文件。具体操作,请参见设置生命周期规则

暂停版本控制

开启版本控制后,您还可以随时暂停版本控制以停止在Bucket中继续累积同一Object的新版本。暂停版本控制后,OSS将为新生成的Object添加versionId为null的版本,已有的历史版本Object将继续保留。

暂停Bucket的版本控制操作如下:

  1. 单击Bucket列表,然后单击要暂停版本控制的目标Bucket名称。
  2. 单击冗余与容错 > 版本控制
  3. 单击设置,然后版本控制状态选择暂停
  4. 单击保存