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