【ceph相关】s3版本控制(versioning)
版本控制是Amazon S3提供一个标准功能接口。当对存储桶启用版本控制功能时,Amazon S3会自动为存储的对象生成唯一版本ID。当对同一对象进行多次操作时,存储桶会保留该对象多个版本内容,如果出现误删对象或者需要回退修改时,可以指定对应版本ID进行还原操作。注:如果需要对多版本存储桶非当前版本对象进行
·
一、前言
- 多版本控制说明:
参考AWS官方文档:使用版本控制- awscli工具说明:
参考AWS官方文档:将 Amazon S3 与 AWS CLI 结合使用
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}
更多推荐
已为社区贡献2条内容
所有评论(0)