赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 对象存储
  4. 开发参考
  5. 常用工具
  6. 命令行工具ossutil 1.0
  7. 常用命令
  8. bucket-versioning(版本控制)

bucket-versioning(版本控制)

  • 常用命令
  • 发布于 2025-04-21
  • 0 次阅读
文档编辑
文档编辑

如果您希望在错误覆盖或者删除对象(Object)后,能够将Object恢复至任意时刻的历史版本。您需要通过bucket-versioning命令开启版本控制。版本控制是针对Bucket级别的数据保护功能。开启版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。

注意事项

  • 要设置版本控制状态,您必须具有oss:PutBucketVersioning权限;要获取版本控制状态,您必须具有oss:GetBucketVersioning权限。具体操作,请参见为RAM用户授权自定义的权限策略。

  • 从ossutil 1.6.16版本开始,命令行中Binary名称支持直接使用ossutil,您无需根据系统刷新Binary名称。如果您的ossutil版本低于1.6.16,则需要根据系统刷新Binary名称。更多信息,请参见命令行工具ossutil命令参考。

  • 关于版本控制的功能详情,请参见版本控制。

  • 当您在OSS ON云盒中使用该命令时:

    1. 将配置文件中的Endpoint替换为云盒Endpoint。更多信息,请参见云盒Endpoint。

    2. 在本文已有示例的基础上添加--sign-version、--region以及--cloudbox-id选项。关于这三个选项的具体用法,请参见通用选项。

设置版本控制状态

  • 命令格式

    ossutil bucket-versioning --method put oss://bucketname versioning

    参数说明如下:

    参数

    说明

    bucketname

    待设置版本控制状态的目标Bucket名称。

    versioning

    为目标Bucket设置版本控制状态。取值如下:

    • enabled:开启版本控制。当Bucket处于开启版本控制状态时,OSS将为新上传的Object生成全局唯一的随机字符串版本ID。有关启用版本控制状态下Object相关操作的更多信息,请参见开启版本控制下Object的操作。

    • suspended:暂停版本控制。当Bucket处于暂停版本控制状态时,OSS将为新上传的Object生成特殊字符串为“null”的版本ID。有关暂停版本控制状态下Object的相关操作的更多信息,请参见暂停版本控制下Object的操作。

    重要

    默认情况下,Bucket版本控制状态为“未开启”。一旦Bucket开启了版本控制,将无法返回至“未开启”状态。但是,您可以暂停Bucket版本控制。

  • 使用示例

    对目标存储空间examplebucket开启版本控制。

    ossutil bucket-versioning --method put oss://examplebucket enabled

    对目标存储空间examplebucket暂停版本控制。

    ossutil bucket-versioning --method put oss://examplebucket suspended

    以下输出结果表明examplebucket已成功设置版本控制状态。

    0.261209(s) elapsed

获取版本控制状态

  • 命令格式

    ossutil bucket-versioning --method get oss://bucketname
  • 使用示例

    查询examplebucket的版本控制状态。

    ossutil bucket-versioning --method get oss://examplebucket

    以下输出结果表明examplebucket已开启版本控制。

    bucket versioning status:Enabled
    
    0.218001(s) elapsed

    以下输出结果表明examplebucket已暂停版本控制。

    bucket versioning status:Suspended
    
    0.168791(s) elapsed

    以下输出结果表明examplebucket未开启版本控制。

    bucket versioning status:Null
    
    0.158691(s) elapsed

相关操作

  • 在开启版本控制的Bucket中上传文件的行为与未开启版本控制状态下的上传行为一致。但Bucket开启版本控制后,OSS会为新上传至Bucket的Object生成全局唯一的versionID。详情请参见cp(上传文件)。

  • 开启Bucket的版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。您可以通过指定versionID的方式下载指定版本Object,详情请参见cp(下载文件)。您还可以通过指定versionID的方式将Object恢复至任意时刻的历史版本,详情请参见cp(拷贝文件)。

通用选项

当您需要通过命令行工具ossutil切换至另一个地域的Bucket时,可以通过-e选项指定该Bucket所属的Endpoint。当您需要通过命令行工具ossutil切换至另一个阿里云账号下的Bucket时,可以通过-i选项指定该账号的AccessKey ID,并通过-k选项指定该账号的AccessKey Secret。

例如您需要为另一个阿里云账号下,华东1(杭州)名为examplebucket的存储空间开启版本控制,命令如下:

ossutil bucket-versioning--method put oss://examplebucket enabled -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret

关于此命令的其他通用选项的更多信息,请参见通用选项。

相关文章

access-monitor(访问跟踪) 2025-04-21 17:21

如果您希望配置基于最后一次访问时间(Last Access Time)策略的生命周期规则来自动监测Bucket中Object的访问模式并识别冷数据,然后将识别出来的冷数据进行存储类型转换,最终降低存储成本。您需要先通过access-monitor命令为Bucket开启访问跟踪。

appendfromfile(追加上传) 2025-04-21 17:21

appendfromfile命令用于在已上传的追加类型文件(Appendable Object)末尾直接追加内容。

bucket-cname(自定义域名) 2025-04-21 17:21

您可以通过bucket-cname命令创建域名所有权验证所需的CnameToken以及管理Cname配置。 注意事项

bucket-encryption(服务器端加密) 2025-04-21 17:21

配置服务器端加密(即Bucket加密)后,OSS对上传的文件(Object)进行加密,再将得到的加密文件持久化保存。下载文件时,OSS自动将加密文件解密后返回给用户。本文介绍如何通过 bucket-encryption命令添加、修改、查询和删除Bucket的加密配置。

bucket-policy(授权策略) 2025-04-21 17:21

Bucket Policy是基于资源的授权策略,Bucket拥有者可以通过Bucket Policy授权其他用户访问OSS指定资源。bucket-policy命令用于添加、修改、查询、删除Bucket授权策略(Bucket Policy)。

bucket-tagging(存储空间标签) 2025-04-21 17:21

您可以通过存储空间(Bucket)的标签功能, 对Bucket进行分类管理,例如对拥有指定标签的Bucket设置访问权限等。bucket-tagging命令用于添加、修改、查询、删除Bucket的标签配置。 注意事项

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号