我是AWS的绝对初学者,从现在起我已经练习了3个月。
最近,我在S3上工作,玩S3对象锁的游戏。因此,我为特定对象启用了S3对象锁,并使用了治理模式和合法持有方式。现在,当我试图使用以下CLI命令用同一个文件覆盖对象时:
aws s3 cp /Users/John/Desktop/112133.jpg s3://my-buck/112133.jpg
它成功了,有趣的是,我在控制台中查看了新文件的上传和最新版本。现在我在AWS 文档中读到这篇文章:
绕过治理模式不会影响对象版本的合法持有状态。如果对象版本已启用合法保留,则合法保留仍然有效,并阻止覆盖或删除对象版本的请求。
现在我的问题是,如果这个CLI命令被用来覆盖一个文件,它是如何被覆盖的?我还在控制台中尝试重新启动同一个文件,但它也正常工作。
此外,我上传了另一个文件,并启用了符合模式的ojbect锁,它也会被覆盖。但删除并不像预期的那样适用于这两种情况。
我是否理解了整个S3 ojbect锁的问题?任何帮助都将不胜感激。
发布于 2020-09-26 13:12:33
引用对象锁文档:
Object只在版本化的存储桶中工作,而保留期和合法保留时间适用于单个对象版本。锁定对象版本时,亚马逊S3将锁定信息存储在该对象版本的元数据中。对对象设置保留期或合法保留只保护请求中指定的版本。它并不阻止创建对象的新版本。
https://stackoverflow.com/questions/64077994
复制相似问题