添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

OBS支持多版本控制,您可以在一个桶中保留对象的多个版本,使您更方便地检索和还原各个版本,在意外操作或应用程序故障时快速恢复数据。更多多版本相关信息请参见 多版本控制

调用设置桶的多版本状态接口,您可以为指定桶设置多版本状态。

  • 您必须是桶拥有者或拥有设置桶的多版本状态的权限,才能设置桶的多版本状态。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketVersioning权限,如果使用桶策略则需授予PutBucketVersioning权限。相关授权方式介绍可参见 OBS权限控制概述 ,配置方式详见 使用IAM自定义策略 自定义创建桶策略
  • OBS支持的Region与Endpoint的对应关系,详细信息请参见 地区与终端节点
  • ObsClient.setBucketVersioning(bucketName, status, extensionHeaders)

    请求参数说明

    # 推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险 # 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html ak = os . getenv ( "AccessKeyID" ) sk = os . getenv ( "SecretAccessKey" ) # 【可选】如果使用临时AKSK和SecurityToken访问OBS,则同样推荐通过环境变量获取 # security_token = os.getenv("SecurityToken") # server填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写 server = "https://obs.cn-north-4.myhuaweicloud.com" # 创建obsClient实例 # 如果使用临时AKSK和SecurityToken访问OBS,需要在创建实例时通过security_token参数指定securityToken值 obsClient = ObsClient ( access_key_id = ak , secret_access_key = sk , server = server ) try : bucketName = "examplebucket" # 设置桶的多版本状态 resp = obsClient . setBucketVersioning ( bucketName , status = 'Enabled' ) # 返回码为2xx时,接口调用成功,否则接口调用失败 if resp . status < 300 : print ( 'Set Bucket Versioning Succeeded' ) print ( 'requestId:' , resp . requestId ) else : print ( 'Set Bucket Versioning Failed' ) print ( 'requestId:' , resp . requestId ) print ( 'errorCode:' , resp . errorCode ) print ( 'errorMessage:' , resp . errorMessage ) except : print ( 'Set Bucket Versioning Failed' ) print ( traceback . format_exc ())
  • 关于设置桶的多版本状态的API说明,请参见 设置桶的多版本状态
  • 更多关于设置桶的多版本状态的示例代码,请参见 Github示例
  • 设置桶的多版本状态过程中返回的错误码含义、问题原因及处理措施可参考 OBS错误码
  • 多版本控制相关问题请参见 多版本控制相关常见问题
  •