You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure存储REST API中comp、blockid参数含义及两类PUT请求的区别

Azure Blob 存储 REST API 参数说明与请求差异

核心参数说明

comp 参数

comp 是 component 的缩写,是Azure Blob REST API中用于指定当前请求要执行的操作类型、要访问的资源子组件的核心查询参数,不同的comp取值对应完全不同的API行为,所有针对Blob子资源/附加操作的请求都需要携带这个参数。

blockid 参数

你的猜测是正确的,blockid是块Blob中单个数据块的唯一标识,要求同一个Blob下的所有blockid为长度一致的Base64编码字符串。

两个PUT请求的差异

你给出的两个请求示例如下:

https://my-account.blob.core.windows.net/my-container/file.txt?comp=REDACTED&blockid=REDACTED
https://my-account.blob.core.windows.net/my-container/file.txt?comp=REDACTED

携带blockid的PUT请求

这种请求的comp取值固定为block,对应上传单个块操作:

  • 适用场景为大文件分块上传:当你要上传的Blob大小超过单块上传阈值(默认256MB,最大可配置为4000MB)时,可将完整文件拆分为多个独立的块分别上传
  • 该请求的请求体为单个块的二进制数据,上传成功后块会暂存到Azure的未提交块列表中,不会直接生成可见的Blob文件,需要后续提交块列表才会生成完整Blob

不携带blockid的PUT请求

该请求的实际行为由comp的具体取值决定,常见的场景包括:

  • 若comp=blocklist:对应提交块列表操作,请求体需要按顺序携带所有已上传完成的块的blockid,Azure收到请求后会按指定顺序拼接所有块,生成最终的完整块Blob,此时文件才会在容器中可见
  • 若comp=properties:对应修改Blob属性操作,用于更新Blob的自定义元数据、缓存策略、内容类型等系统属性,不会修改Blob的实际内容
  • 若comp=lease:对应Blob租约操作,用于获取、续期、释放Blob的独占锁,实现并发写入控制

内容的提问来源于stack exchange,提问作者derek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 18:27:03