我正在尝试使用多部分上传功能将许多大文件(30GB)上传到S3存储桶。
这是代码。为了避免弄乱这一页,我把它放在一个要点里:https://gist.github.com/twslankard/5296081
上传小于5GB的文件没有问题。根据S3管理控制台中对象的大小,大于5GB的文件似乎被“裁剪”为5GB。
在上传过程中,我没有收到任何异常或错误消息。我在文档中也找不到任何东西表明我做错了什么。
有人能看出我哪里做错了吗?
编辑:我从AWS支持部门了解到,Ruby SDK还不支持多部分上传
根据AWS,Ruby SDK不支持多部分上传。
然而,我发现了一个基于python boto的多部分上传脚本。
https://gist.github.com/chrishamant/1556484
编辑:红宝石 SDK 现在支持分段上传 http://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu-ruby-sdk.html
S3 具有一个策略文档,用于授权表单并对可上传的文件施加限制。其中一个限制是内容长度。来自亚马逊的逐字记录:
内容长度规则,用于检查上载文件的大小是否介于给定的最小值和最大值之间。如果此规则未包含在策略文档中,则用户将能够上传任何大小的文件,最高可达 S3 施加的 5GB 限制。
我试过XMLHttpRequest的PUT请求。有一个浏览器端的限制,不允许我上传大于2GB的文件。然后我尝试了一个不需要Javascript端预处理的超文本标记语言表单的POST请求。它在一次操作中有5GB的上传大小限制。 AWS建议在较大的上传场景中进行多部分上传。这需要将文件分成小块,然后上传成小块。当文件大小大于10GB时,如何从浏览器中正确地执行此操作。
我试图用python写的lambda (aws)完成多部分上传。下面是我正在使用的代码。大约有120个部件,总大小为30GB。下面的操作似乎没有在5分钟内完成,因此lambda关闭,上传似乎没有完成。S3提供异步多部分上传功能吗?我相信这将确保文件得到合并,不管lambda关闭。
我正在尝试向S3发出上传请求,以便上传一个文件。在我目前掌握的最可靠的代码下面, 我总是从服务器收到400(错误请求)。我不确定我是否正确使用了多部分上传。 但是当我使用像POSTMAN这样的任何Rest客户端做同样的事情时,它工作得很好, 这将是有帮助的,如果有人可以抛出一些光在多部分上传放心。 我已经查看了以下链接, 放心文档 放心的示例 编辑1: 我试着将上面的邮递员请求转换成curl,并用
有没有办法,如何上传比5MB更小的文件?多部分上传要求块的大小大于5MB(不包括最后一个)。但是我正在处理32KB的块。 有没有一种方法可以上传较小的块,或者让我保存我的块,直到它们达到5MB大小,然后使用多部分上传? 感谢解答!
我正在使用 Amazon S3 分段上传,我读到您可以并行上传部分文件。但是,通过查看文档,我发现亚马逊对上传的文件部件的响应不包含部件号。所以我的问题是,如果我异步上传文件的第1部分和文件的第2部分,那么我检查来自亚马逊的响应,我如何知道响应是引用文件的第1部分还是第2部分? 下面是一个请求和响应的示例。
亚马逊S3 REST API文档称上传操作的上传大小限制为5gb。大于该值的文件必须使用multipart上传。好吧。 然而,我本质上需要的是重命名可能比那个更大的文件。据我所知,没有重命名或移动操作,因此我必须将文件复制到新位置并删除旧文件。对于大于5gb的文件,具体是如何做到的呢?我必须从存储桶向自身进行多部分上传?在这种情况下,如何将文件分成几部分呢? 从阅读boto的源代码来看,它似乎并没