|
|
1
24
答案与此一致:
在上传完成之前,正在上传的内容在技术上并不“在”bucket中。
正如您可能知道的那样,S3不是分层文件系统。它至少有两个重要的组件,后备存储和索引,与典型的文件系统不同,它们是分开的……因此,当你写一个对象时,你并不是真的在“原地”写它。上传一个对象会将对象保存到后备存储,并且
然后
将其添加到bucket的索引中,该索引由
如果索引中没有条目,则无法访问该对象。所以你很好。下载尚未完成上载的对象是不可能的。从技术上讲,这个对象还不存在。
类似地,如果一个对象已经存在,并且您开始覆盖它,那么任何试图下载它的人都会获得该对象的“旧”副本,至少直到您的上传完成为止,即使在没有启用版本控制的bucket中也是如此——覆盖不会覆盖实际的对象,它会覆盖索引项,只有在上传完成时才会发生这种情况。请注意,此机制似乎负责应用于的最终一致性模型
注意,关于数据完整性:确保无论您使用什么上传设置
|
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
DSATH · 我的lambda在代码完成之前就结束了,我不知道为什么 1 年前 |
|
|
explorer · AWS SageMaker项目模板创建失败 2 年前 |
|
Sunil Garg · 使用nodejs在S3上传文件时出现格式问题 2 年前 |