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

功能限制

  • 版本控制功能开启后不允许关闭,只允许暂停。
  • 如果Bucket已开启版本控制,则不支持设置合规保留策略、镜像回源或静态网站托管;如果Bucket已设置合规保留策略、镜像回源或静态网站托管,则不支持开启版本控制。
  • 如果Bucket已开启版本控制,上传文件时附加的x-oss-forbid-overwrite请求头将不生效。详情请参见请求头
  • RAM用户(子账号)要设置版本控制功能,必须拥有PutBucketVersioning权限。

相关费用

版本控制功能本身不收费,只对产生的历史版本数据收取相应的存储容量费用以及相应操作产生的请求、流量等费用。请及时删除不再需要的历史版本,以降低您的存储费用。

应用场景

  • 用户数据误删除

    当前OSS不提供回收站功能。您删除OSS数据后想要找回时,可使用版本控制功能,恢复已删除的数据。

  • 文件被覆盖

    对于网盘、在线协作类产品,文件会被频繁修改,针对文件的编辑会产生大量的临时版本。您可以使用版本控制功能找回某个时间点的版本。

操作方式

您可以通过以下几种方式配置版本控制:

操作方式 说明
控制台 Web应用程序,直观易用
命令行工具ossutil 命令行工具,性能好
Java SDK 丰富、完整的各类语言SDK demo
Python SDK
C++ SDK
Go SDK