初始化一个Multipart Upload之后,可以根据指定的Object名和Upload ID来分块(Part)上传数据。每一个上传的Part都有一个标识它的号码(part number,范围是1~10,000)。对于同一个Upload ID,该号码不但唯一标识这一块数据,也标识了这块数据在整个文件内的相对位置。如果你用同一个part号码,上传了新的数据,那么OSS上已有的这个号码的Part数据将被覆盖。除了最后一块Part以外,其他的part最小为100KB;最后一块Part没有大小限制。
请求语法PUT /ObjectName?partNumber=PartNumber&uploadId=UploadId HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: Size
Authorization: SignatureValue
细节分析
PUT /multipart.data?partNumber=1&uploadId=0004B9895DBBB6EC98E36 HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Content-Length:6291456
Date: Wed, 22 Feb 2012 08:32:21 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfj byc:J/lICfXEvPmmSW86bBAfMmUmWjI=
[6291456 bytes data]
HTTP/1.1 200 OK
Server: AliyunOSS
Connection: keep-alive
ETag: 7265F4D211B56873A381D321F586E4A9
x-oss-request-id: 3e6aba62-1eae-d246-6118-8ff42cd0c21a
Date: Wed, 22 Feb 2012 08:32:21 GMT
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用阿里云对象存储服务(OSS)进行分片上传(Multipart Upload)时,初始化之后的上传流程涉及以下几个关键步骤和注意事项:
分块上传(UploadPart):
PUT /ObjectName?partNumber=PartNumber&uploadId=UploadId
ObjectName
是您要上传的文件名,partNumber
表示当前上传分块的编号(范围为1至10,000),uploadId
是在初始化Multipart Upload时从服务器获得的唯一标识符。注意事项:
uploadId
,它是后续操作(如上传分块、完成或取消上传)的必要参数。权限需求:执行UploadPart操作前,确保拥有oss:PutObject
权限。
错误处理与优化:在实际操作中,注意监控上传过程中的错误代码,如遇到InvalidPart
、NoSuchUpload
等错误需采取相应措施处理。同时,考虑根据网络条件调整并发上传策略以优化上传效率。
综上所述,分块上传至OSS时,正确构造请求、遵循Part Number规则、留意Part大小限制,并妥善管理Upload ID是确保上传成功的关键。同时,具备相应的权限设置及错误处理机制也是不可忽视的环节。