我正在使用aws-sdk
gem,并且我正在尝试上传一个非常大的文件(需要 2 天)。
该文件以块的形式上传,但有时脚本会崩溃,我想继续上传(下一个块)。
在上传过程中,我们要关闭close
分段上传(这样我们就可以访问到目前为止已经上传的 s3 数据)。
分段上传关闭后是否可以添加部分?(说第二天)基本上恢复上传?
我正在使用aws-sdk
gem,并且我正在尝试上传一个非常大的文件(需要 2 天)。
该文件以块的形式上传,但有时脚本会崩溃,我想继续上传(下一个块)。
在上传过程中,我们要关闭close
分段上传(这样我们就可以访问到目前为止已经上传的 s3 数据)。
分段上传关闭后是否可以添加部分?(说第二天)基本上恢复上传?
分段上传关闭后是否可以添加部分?(说第二天)基本上恢复上传?
不是这样,但你可以模拟你想要的影响。
使用 Multipart Upload API 上传对象 允许您将单个对象作为一组部分上传:
每个部分都是对象数据的连续部分。您可以按任意顺序独立上传这些对象部分。如果任何部分传输失败,您可以重新传输该部分而不影响其他部分。上传对象的所有部分后,Amazon S3 会组装这些部分并创建对象。 [强调我的]
这在Complete Multipart Upload中有更详细的说明:
您首先启动分段上传,然后使用上传部分操作上传所有部分(请参阅上传部分)。[...]收到此请求后,Amazon S3 将按部件号升序连接所有部件以创建一个新对象。[...]您必须确保零件清单是完整的,此操作会连接您在清单中提供的零件。[...] [强调我的]
也就是上传操作到这里就结束了,不能通过上传其他部分来恢复。(从技术上讲,upload ID
对已启动的分段上传的任何操作所需的不再可用/有效)。
您可以通过Upload Part - Copy操作简单地启动一个新的分段上传,并将之前上传的 S3 对象作为此新分段对象的第一部分上传,该操作通过从现有对象复制数据作为数据源来上传一个部分。