gpt4 book ai didi

amazon-s3 - 替换 Amazon S3 中上传文件的字节

转载 作者:行者123 更新时间:2023-12-05 01:19:43 26 4
gpt4 key购买 nike

我知道要使用 Multipart 将文件上传到 Amazon S3,说明如下: http://docs.aws.amazon.com/AmazonS3/latest/dev/llJavaUploadFile.html

如何替换上传文件的字节(例如,4-1523 之间的字节)?我是否需要使用分段上传来实现这一点?还是使用 HTTP header 中指定的范围触发 REST 调用?

感谢任何建议。

最佳答案

S3 中的对象是不可变的。

如果是小对象,则需要重新上传整个对象。

如果它是一个大小超过 5MB 的对象,那么有一个解决方法允许您使用分段上传 API 的修改方法“修补”文件。

背景:

如您所知,分段上传允许您以“部分”的形式上传文件,最小部分大小为 5MB,最大部分数为 10,000。

然而,多部分“上传”并不意味着您必须再次“上传”所有数据,如果部分或全部数据已经存在于 S3 中,并且您可以解决它。

PUT part/copy允许您通过在现有对象中指定八位位组范围来“上传”各个部分。或者不止一个对象。

由于上传是原子的,“现有对象”可以是您正在覆盖的对象,因为它在您实际完成分段上传之前不会受到伤害并保持原位。

但似乎没有什么可以阻止您使用复制功能为您想要保留的部分提供数据,避免实际上传然后使用正常的 PUT part 请求上传您想要具有不同内容的部分。

因此,虽然不是粒度为 1 个八位字节级别的字节范围补丁,但这对于模拟大文件的就地修改可能很有用。有效“部分”的示例是在 5MB 边界上为小于 50GB 的文件替换最小 5MB block ,或者为最大 5TB 的对象替换 500MB 边界上最小 500MB block ,最小部分大小在这些到极端之间变化,因为分片上传的分片数不能超过 10,000。问题是一个部件必须以适当的偏移量开始,并且您需要替换整个部件。

关于amazon-s3 - 替换 Amazon S3 中上传文件的字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38069985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com