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

Logic App使用HTTP请求分块迁移Azure Blob到SharePoint大文件报错如何解决

问题根因

你遇到的104857600字节错误对应的是Logic App HTTP动作单请求响应的默认100MB缓冲区硬限制,之前的配置全部存在适用场景错误,所以没有生效:

  • content-transfer-allow-chunking请求头是用于请求端分块上传时告知接收端的标识,和GET请求拉取Blob的分块下载场景完全无关,添加后不会有任何作用。
  • 你配置的Range: bytes=255-仅会跳过前256字节拉取剩余所有内容,500MB的剩余负载仍然远大于100MB缓冲区上限,自然会触发报错。
  • Logic App HTTP动作的分页设置仅对响应中返回@odata.nextLink类分页标识的API生效,Azure Blob存储的GET Blob接口不会返回这类分页参数,开启后完全不生效。
可行解决方案

你需要手动实现循环分块拉取逻辑,具体步骤如下:

  1. 先发送一次HEAD请求调用Blob存储接口,从响应头Content-Length中获取目标Blob的总大小,存入变量totalBlobSize
  2. 初始化两个变量:currentOffset = 0(当前拉取偏移量),chunkSize = 52428800(单块大小设为50MB,小于100MB缓冲区限制即可,建议为4MB整数倍方便后续校验)
  3. 添加Do Until循环,终止条件设为currentOffset >= totalBlobSize
  4. 循环内的HTTP GET请求的Range头设置为:
    bytes=@{variables('currentOffset')}-@{min(variables('currentOffset') + variables('chunkSize') - 1, variables('totalBlobSize') - 1)}
    
  5. 每拉取完一个分块,将分块内容追加到SharePoint目标文件中,再更新currentOffset = variables('currentOffset') + variables('chunkSize')即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:54:03