s3 中的版本控制 versioning

三种版本模式:

  • unable:单一版本
  • enable:多版本
  • suspend:从当前版本起不再生成新版本

unable 模式是将版本号设为 null,下次添加新版本会覆盖这个 null 版本。
enable 模式是每次修改都生成一个新对象,并给一个新的版本号。
suspend 模式是在有版本号的对象上面生成一个新的 null 版本,每次修改都是在重写这个 null 版本的对象。

模式转换触发操作

unable -> enable:自动在每个生成一个带版本号的新对象。
enable -> suspend:自动在每个对象上生成一个版本号为 null 的对象。

delete 操作

unable:在 null 版本上标记一个 delete 的 marker。
enable:在版本之上加入一个新版本,标记一个 delete 的 marker。
suspend:在 null 版本上标记 delete 的 marker(这意味着这上面的修改全部会丢失,不再能访问到)。

  • 物理删除:必须指定版本号。
  • 逻辑删除:只指定对象的 key,不指定版本号。即在有版本之上生成一个对象,或就在 null 版本对象上,加一个 delete marker。
  • 定期清理:当对象的一个版本的生存时间超过 retention 时,会加入到 delete queue 中,进行物理删除(这意味着即使一个对象超过了生存时间,也有一定的时长内这个对象没有删除)

访问老版本

必须指定版本号才能访问老版本,只用 key 不用版本号只能访问最新版本。当最新版本有 delete marker 时将返回“找不到对象”。

访问权限

每一个版本都可指定不同用户的不同访问权限,即每个用户只用 key 时访问到的是自己的修改的最后版本对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值