分块上传
Blob 分块上传初始化
本文档全面介绍 SquareCloud Blob API 的 POST /v1/objects/chunked 端点。
Chunked Init 用于开启一次分块上传,即针对超过 100 MB 单请求上限、最大 1 GiB 文件的上传流程。它会预留对象的键,并返回一个不透明的
upload 令牌,供你在后续三个调用中携带:分块发送用于发送每个分块,分块完成用于封存对象,分块中止用于取消。
服务端不保存会话:该令牌就是上传的全部状态,因此如果上传会跨越页面刷新,请持久化保存它。丢失令牌的客户端将无法取消上传,已存储的分块会一直计入账户 8 个未完成上传的限制,直到服务回收它们为止(约 24 小时)。
查询参数契约与对象上传相同,另加 filename:这里没有 multipart 封装,因此存储的扩展名必须来自查询字符串。上传需要付费套餐。
string
必填
表示文件名称的字符串。(不含扩展名)
必须符合 a 到 z、A 到 Z、0 到 9 以及 _ 的模式。(3 到 32 个字符)
必须符合 a 到 z、A 到 Z、0 到 9 以及 _ 的模式。(3 到 32 个字符)
string
原始文件名,包含扩展名(例如
reads.fastq.gz)。存储的扩展名由它推导得出,其次回退到 mime_type 参数,最后回退到 bin。string
表示文件前缀的字符串。
必须符合 a 到 z、A 到 Z、0 到 9 以及 _ 的模式。(3 到 32 个字符)
必须符合 a 到 z、A 到 Z、0 到 9 以及 _ 的模式。(3 到 32 个字符)
number
表示文件过期周期的数字,范围为 7 到 1825 天(5 年)。
boolean
如果需要安全哈希,请设为 true。
boolean
如果文件应设为自动下载,请设为 true。
限制
- 对象大小:最大 1 GiB(1,073,741,824 字节)。
- 分块大小:最小 5 MB,最大 32 MB(最后一个分块可以更小)。
- 每个对象的分块数:205(分块编号从 1 到 205)。
- 每个账户的未完成上传数:8 个并存(
TOO_MANY_OPEN_UPLOADS,429)。 - 速率限制:每 10 秒可开启 5 次,超出后封锁 10 秒。
chunk 对象读取这些限制,而不要将其硬编码。响应
string
指示调用是否成功。成功为 “success”,否则为 “error”。
object
故障排查
- 400 状态码
- 401 状态码
- 403 状态码
- 429 状态码
- 500 状态码

