我知道为了使用 Multipart 将文件上传到 Amazon S3,说明如下:http : //docs.aws.amazon.com/AmazonS3/latest/dev/llJavaUploadFile.html
我该如何替换上传文件的字节(例如,介于 4-1523 之间)?我是否需要使用分段上传来实现这一点?或者我是否使用 HTTP 标头中指定的范围触发 REST 调用?
感谢任何建议。
S3 中的对象是不可变的。
如果是小对象,则需要再次上传整个对象。
如果它是一个大小超过 5MB 的对象,那么有一种变通方法允许您使用分段上传 API 的修改方法“修补”文件。
背景:
如您所知,分段上传允许您分“部分”上传文件,最小部分大小为 5MB,最大部分数为 10,000。
然而,多部分“上传”并不意味着您必须再次“上传”所有数据,如果其中部分或全部数据已经存在于 S3 中,并且您可以解决它。
PUT part/copy允许您通过在现有对象中指定八位字节范围来“上传”各个部分。或者不止一个对象。
由于上传是原子的,“现有对象”可以是您正在覆盖的对象,因为在您实际完成分段上传之前,它一直没有受到伤害并且就位。
但是似乎没有什么可以阻止您使用复制功能为您想要保留的部分提供数据,避免实际上传然后使用正常PUT part请求上传您想要具有不同内容的部分。
因此,虽然不是粒度为 1 个八位字节级别的字节范围补丁,但这对于模拟大文件的就地修改可能很有用。有效“部分”的示例是在 5MB 边界上为小于 50GB 的文件替换最小 5 MB 块,或为高达 5TB 的对象替换 500MB 边界上的最小 500MB 块,最小部分大小在这些到极端之间变化,因为要求分段上传不超过 10,000 个部分。问题是零件必须以适当的偏移量开始,您需要更换整个零件。
| 归档时间: |
|
| 查看次数: |
1314 次 |
| 最近记录: |