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

6
我在S3存储桶中有一组对象,它们具有共同的前缀。我想要防止更新当前存在的对象,但允许用户在相同的前缀下添加新的对象
据我所知,S3:PutObject操作既用于更新现有对象,也用于创建新对象。
是否有存储桶策略可以限制更新而允许创建?
例如:禁止修改已经存在的s3:/bucket/Input/obj1,但允许创建s3:/bucket/Input/obj2
编辑,背景:我们正在使用S3作为回归测试数据的存储,用于测试我们的转换。由于我们不断添加新的测试数据,我们希望确保已经摄取的输入数据不会更改。这将解决当前失败测试的一个原因。我们所有的输入数据都存储在相同的前缀中,期望数据也是如此。

你为什么想要防止这种情况发生?请编辑您的问题,描述完整的用例。如果您提供更多详细信息,我们可能会提供替代方案。 - John Rotenstein
1
正如@oleksii所建议的那样,S3对象锁定是您最好的选择。 - jellycsc
2个回答

4

不,这是不可能的。

无论是否已经存在具有相同名称的对象,上传对象时都将使用相同的API调用和权限。

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


4
无法按照您的描述进行操作,但有一种机制称为S3对象锁定,允许您锁定特定版本的文件。它将不会阻止新版本的文件被创建,但是您锁定的版本将是不可变的。请参考:S3对象锁定

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接