一、前言

1、特性说明

1.1、特性简述

版本控制是Amazon S3提供一个标准功能接口。当对存储桶启用版本控制功能时,Amazon S3会自动为存储的对象生成唯一版本ID。
当对同一对象进行多次操作时,存储桶会保留该对象多个版本内容,如果出现误删对象或者需要回退修改时,可以指定对应版本ID进行还原操作。
注:如果需要对多版本存储桶非当前版本对象进行操作(删除或者还原)时,需要指定对应版本ID方可进行操作

存储桶一共有三种状态,分别为关闭(Off) 、开启(Enabled)、暂停(Suspended)。
存储桶默认关闭版本控制功能,当开启版本控制功能后,无法还原到初始关闭状态,只能暂停版本控制功能

1.2、参考示例
  • 上传同名对象时,S3为对象生成唯一的版本ID并保存在存储桶内,当需要回退修改时,可以指定对应版本ID进行还原操作
  • 删除某一对象时,S3为对象生成唯一的版本ID并保存在存储桶内,此时对象key会打上deleted标记,此时存储桶不显示该对象存在
    在这里插入图片描述
1.3、优劣势
  • 优势:可以进行误删恢复或者版本回滚操作
  • 劣势:每一次同名对象操作(上传、删除),存储桶都会保留一份对应版本的对象数据,频繁上传、删除操作会导致存储空间的浪费

二、配置说明

awscli s3api命令说明参考:s3api

1、开关控制

  • 开启版本控制功能
aws --endpoint={Rest-Endpoint} s3api put-bucket-versioning --bucket {Bucket-Name} --versioning-configuration Status=Enabled
  • 关闭版本控制功能
aws --endpoint={Rest-Endpoint} s3api put-bucket-versioning --bucket {Bucket-Name} --versioning-configuration Status=Suspended
  • 获取开关状态
aws --endpoint={Rest-Endpoint} s3api get-bucket-versioning --bucket {Bucket-Name}
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐