问题描述
我绝对是AWS的初学者,并且从现在开始已经练习了3个月。
最近我正在研究S3,并使用S3对象锁玩了一下。因此,我通过治理模式以及合法保留为特定对象启用了S3对象锁定。现在,当我尝试使用以下CLI命令用同一文件覆盖对象时:
aws s3 cp /Users/John/Desktop/112133.jpg s3://my-buck/112133.jpg
它成功地取得了成功,我在控制台中检查是否已上传新文件并带有最新版本。现在,我在AWS docs中阅读了以下内容:
绕过管理模式不会影响对象版本的合法性 保持状态。如果对象版本启用了合法保留,则合法版本 保全保持有效,并防止覆盖或删除请求 对象版本。
现在我的问题是,如果使用此CLI命令覆盖文件,它将如何被覆盖?我也尝试在控制台中重新修改同一文件,但它也起作用。
此外,我上传了另一个文件,并使用遵从模式启用了ojbect锁,它也被覆盖了。但是删除对两种情况都无法按预期进行。
我是否了解整个S3对象锁定问题?任何帮助将不胜感激。
解决方法
引用Object Lock文档:
对象锁仅在版本化存储桶,保留期和 法律保留适用于单个对象版本。当您锁定 对象版本,Amazon S3将锁定信息存储在元数据中 对于该对象版本。设置保留期或法律保留 对象仅保护请求中指定的版本。它 不会阻止创建该对象的新版本。