Python 如何上传多个文件并在S3中合并它们

Python 如何上传多个文件并在S3中合并它们,python,amazon-web-services,amazon-s3,Python,Amazon Web Services,Amazon S3,我有一个大的exe文件(>100MB),我需要上传到S3。现在,由于我有一个可靠的网络,我想通过将文件划分为块,然后并行上传这些块来加快这个过程。但我不知道如何将这些块合并到一起以获得原始的exe 虽然python提供了一种将文件上传到块中的方法,但是这些块是串行上传的。有没有办法并行上传这些块,然后将它们合并在一起?S3已经支持这一点 这称为多部分上传: 使用知道如何执行此操作的客户端(例如s3cmd),或者通过SDK和您最喜欢的语言使用自己执行此操作。我想这里的限制因素是您通过intern

我有一个大的exe文件(>100MB),我需要上传到S3。现在,由于我有一个可靠的网络,我想通过将文件划分为块,然后并行上传这些块来加快这个过程。但我不知道如何将这些块合并到一起以获得原始的exe


虽然python提供了一种将文件上传到块中的方法,但是这些块是串行上传的。有没有办法并行上传这些块,然后将它们合并在一起?

S3已经支持这一点

这称为多部分上传:


使用知道如何执行此操作的客户端(例如s3cmd),或者通过SDK和您最喜欢的语言使用自己执行此操作。

我想这里的限制因素是您通过internet连接的上传速度。假设你的上传是20Mbit。确切地说,发送2x10Mbit比发送1x20Mbit快多少?S3也不提供任何计算能力。您可以启动一个EC2实例来接收流量并将其推送到S3。听起来您正在寻找类似7zip的功能,但使用python ApiAgree和Bjorn。。。。拆分文件不会提高速度。除非你有千兆速度n/w,在这种情况下,拆分和上传所花费的时间和资源可能比整体上传更重要。同意@Bjorn。最好的办法是拆分文件,然后启动EC2,然后并行上传(有很多工具可以做到这一点)。然后远程合并它们,最后推送到S3。由于您应该在与S3相同的AZ中启动EC2,因此EC2实例与S3之间的速度将快得多。