首页/系统与基础设施/存储速查/S3 分片上传与断点续传机制
分布式与对象存储70 条

S3 分片上传与断点续传机制

分片上传把大对象切成多块并行传输、失败只重传单块,最后提交分片清单合并;未完成的上传在列举中不可见却持续占容量,因此失败路径必须显式中止或配置自动清理规则。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​​‌‌​​‌‌​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌‌​‌​‌​‌‌​‌‌​​​‌‌‌​‌​​​‌‌​‌​​‌​‌‌‌​​​​​‌‌​​​​‌​‌‌‌​​‌​​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​‌​‌​‌‌‌​​​​​‌‌​‌‌​​​‌‌​‌‌‌‌​‌‌​​​​‌​‌‌​​‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

分片上传解决什么

大对象一次性上传有两个硬问题:网络中断就得从头再来,单个流也吃不满带宽。分片上传把对象切成多块并行传输,每块独立确认,最后再请求合并成完整对象;中途失败只需重传失败的分片。代价是产生了中间状态:在合并完成前对象不可见,而未完成的上传会持续占用存储空间。

基本信息

适用平台兼容 S3 的对象存储
三个步骤初始化获得上传标识、按分片号上传、完成合并
关键限制分片数量与单片大小有限制(以官方文档为准)
清理动作放弃上传需显式中止,否则残留分片持续占容量

典型使用场景

  • 超大文件上传:数据包、镜像、视频等超过单次上传便利范围的场景
  • 弱网环境:断点续传,失败只重传个别分片
  • 高带宽利用:多个分片并行上传,缩短整体传输时间
  • 浏览器直传:前端把大文件切片后逐片上传,配合预签名链接
  • 迁移同步:大批量对象搬迁时靠分片与并行提升吞吐

分片流程

分片流程
# 1) 初始化,拿到上传标识
aws s3api create-multipart-upload --bucket demo-bucket --key big.iso
# 2) 逐片上传,记录每片返回的标识
aws s3api upload-part --bucket demo-bucket --key big.iso --part-number 1 \
  --upload-id <上传标识> --body part01
# 3) 列出已上传分片,核对是否齐全
aws s3api list-parts --bucket demo-bucket --key big.iso --upload-id <上传标识>
# 4) 完成合并,提交分片清单
aws s3api complete-multipart-upload --bucket demo-bucket --key big.iso --upload-id <上传标识> \
  --multipart-upload file://parts.json
# 5) 放弃上传(异常中断后的清理)
aws s3api abort-multipart-upload --bucket demo-bucket --key big.iso --upload-id <上传标识>

分片参数与判读

项含义注意事项
分片号标识分片顺序必须连续且顺序正确,缺片无法合并
分片标识每片返回的校验标识合并时需按分片号顺序提交
分片大小除最后一片外有最小限制过小会被拒绝,建议按固定大小切分
分片数量有上限约束数量超限需加大单片大小
合并后标识与单片校验值算法不同不能等同于整体内容的简单摘要

工程实践建议

  • 分片大小固定并留出并行度,兼顾重传代价与并发连接数
  • 把上传标识与已完成分片号持久化,进程重启后才能继续续传
  • 失败路径一定要触发中止操作,或配置生命周期规则自动清理残留
  • 完成合并后核对对象大小与校验值,确认拼接结果正确
  • 上传过程中不要改动键名或目标桶,否则分片与被合并对象对不上
未完成的分片上传在对象列举里看不到,却实实在在占用容量;这是对象存储费用异常最常见的原因之一。
不同实现对分片大小、数量上限与校验算法的要求略有差别,实现上传客户端前先核对目标存储的官方文档。

易错点

  • 上传失败后不执行中止操作,残留分片长期占用容量且难以发现
  • 分片大小设得过小,分片数量超限导致无法完成合并
  • 续传时丢失上传标识,只能从头重传整个大文件
  • 误以为合并后的标识是整体内容的简单摘要,用错误的校验方式判断完整性

数据来源与参考

  • Amazon S3 官方文档:分段上传(Multipart Upload)概述
  • Amazon S3 官方文档:分段上传的限制与最佳实践

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/storage/s3-multipart-upload.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​​‌‌​​‌‌​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌‌​‌​‌​‌‌​‌‌​​​‌‌‌​‌​​​‌‌​‌​​‌​‌‌‌​​​​​‌‌​​​​‌​‌‌‌​​‌​​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​‌​‌​‌‌‌​​​​​‌‌​‌‌​​​‌‌​‌‌‌‌​‌‌​​​​‌​‌‌​​‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​