如果我将文件上载到S3并且文件名与存储桶中对象的文件名相同,则会覆盖它。有什么选择可以避免覆盖具有相同文件名的文件?我在我的桶中启用了版本控制,认为它会解决问题,但对象仍然被覆盖。Amazon S3避免覆盖具有相同名称的对象
回答
从上面我的意见不起作用。我认为WRITE
ACL也适用于对象,但它只适用于桶。
由于您启用了版本控制,您的对象不会被覆盖。但是,如果您未在GET请求或URL中指定版本,则会采用最新版本。这意味着,当您将对象放入S3中时,您需要保存响应告诉您的versionID以便检索第一个对象。
有关更多信息,请参见Amazon S3 ACL for read-only and write-once access。
谢谢!我会尝试。 – CyberJunkie
您还可以配置具有有限权限的IAM用户。写入仍然是写入(即更新),但使用IAM用户无论如何都是最佳实践。
所有者(即您的“长期访问密钥和密钥”)始终拥有完全控制权,除非您完全无法完全禁用它。
谢谢我没有想到这一点。如果我可以在AWS中进行设置,那么无法更新/覆盖的用户将是理想选择。 – CyberJunkie
您必须仔细检查文档。我不知道S3是否理解_write_和_update_之间的区别。我知道默认情况下(即完全权限),写入和更新被视为同一件事。 –
这是我的建议,如果您使用数据库来存储s3存储桶中每个文件的密钥。
生成一个随机密钥。 尝试在允许空条目的UNIQUE约束的字段中插入/更新您的DB的密钥。 如果失败,则使用该密钥,直到获得唯一密钥。
然后把你的文件放在s3上,你的密钥,你知道是独一无二的。
- 1. 避免覆盖ArrayList中的对象
- 2. 下载具有相同名称的附件而不覆盖
- 3. 具有相同名称和签名的多个功能相互覆盖?
- 4. 使用相同名称的CSS覆盖?
- 5. 使用循环的具有相同名称的不同对象
- 6. 不同的javascript对象具有相同的属性(名称)
- 7. 匹配2具有相同实例名称的不同对象
- 8. 所有对象具有相同的名称
- 9. 如何避免javax.persistence.EntityExistsException:具有相同标识符的不同对象?
- 10. 如何避免显示图像具有相同的名称只是删除?
- 11. 存储两个具有相同名称的变量的对象
- 12. 具有相同名称
- 13. 具有相同名称
- 14. 避免覆盖在阵列
- 15. 避免CSS覆盖引导
- 16. 避免覆盖GAE版本
- 17. 避免被css覆盖
- 18. 避免404页面覆盖
- 19. Spark避免分区覆盖
- 20. 避免覆盖斑点AZURE
- 21. 避免覆盖S3文件使用Jquery-Fileupload
- 22. PHP文件上传并覆盖文件具有相同名称的
- 23. NuGet - 不允许覆盖软件包(具有相同的名称和版本号)
- 24. 如何正确显示具有相同名称的JSON对象
- 25. 如何合并具有相同名称的JSON对象
- 26. ES6解构两个对象具有相同的属性名称
- 27. 具有与对象属性相同名称的原型属性
- 28. Erlang snmp MIB。两个mib具有相同的名称对象
- 29. 从库中提取具有相同名称的多个对象
- 30. 具有相同名称的Concat对象数组
我不确定,但不能 您将ACL设置为只读此对象?我的意思是,为你上传的每个对象。 – Prinzhorn
我将ACL设置为公开,因为任何人都可以看到这些文件。 – CyberJunkie