防止对象更新的AWS S3存储桶策略

时间:2020-05-04 09:17:23

标签: amazon-web-services amazon-s3 crud

我在S3存储桶中有一组对象,所有对象都有一个通用前缀。我想防止更新当前存在的对象,但是允许用户添加新对象

据我了解,S3:PutObject操作既用于更新现有对象又创建新对象。

是否存在可以限制更新同时允许创建的存储桶策略?

ex:禁止修改已经存在的s3:/bucket/Input/obj1,但允许创建s3:/bucket/Input/obj2


编辑,上下文:我们正在使用S3作为回归测试数据的存储,用于测试我们的转换。当我们不断添加新的测试数据时,我们要确保已经摄取的输入数据不会改变。这将解决当前测试失败的原因之一。我们所有的输入数据都使用相同的前缀存储,同样用于期望的数据。

2 个答案:

答案 0 :(得分:1)

否,这是不可能的。

使用相同的API调用和相同的权限上载对象,而不管对象是否已经存在相同名称。

您可以使用Amazon S3 版本保留旧对象和新对象,但这取决于您将如何使用这些对象。

答案 1 :(得分:1)

用您描述的方式是不可能的,但是有一种称为S3 object lock的排序机制,可以使您锁定文件的特定版本。它不会阻止文件新版本的创建,但是您锁定的版本将是不可变的。