使用Power Automate解压SharePoint库大体积zip文件失败如何解决
报错原因
该报错是Power Automate原生提取存档操作的官方硬性限制触发导致,和你提到的1GB大小没有直接关系:
原始报错:Archive content is too large. It contains more than '100' files or more than '314572800' bytes in total
中文翻译:压缩包内容过大,包含的文件总数超过100个,或总内容大小超过314572800字节(即300MB)
只要解压后的总文件大小超过300MB、或者文件总数超过100个,任意一个条件满足就会触发该错误,和压缩包本身的压缩率无关。
可行解决方案
- 方案1:本地拆分压缩包(无开发成本,适合普通用户)
提前在本地将大体积压缩包拆分为多个分卷压缩包,控制每个分卷解压后总大小不超过300MB、内部文件数不超过100个,逐个上传到SharePoint库后执行原生解压操作即可。 - 方案2:对接Azure Function处理(适合有Azure资源的企业场景)
自行编写简单的Azure Function代码实现解压逻辑,绕开Power Automate原生限制:- Power Automate检测到SharePoint库有新ZIP文件上传后,将文件ID和路径传递给Azure Function
- Azure Function调用
SharpZipLib或DotNetZip等类库完成解压逻辑,再通过Graph API直接将解压后的文件写入目标SharePoint库 - 处理完成后返回状态给Power Automate触发后续流程即可
- 方案3:PowerShell自动化任务处理(适合本地服务器部署场景)
配置常驻的PowerShell自动化任务:- Power Automate检测到新ZIP上传后触发PowerShell任务运行
- PowerShell通过
PnP.PowerShell模块下载ZIP文件到本地临时目录,完成解压后再批量上传回SharePoint目标库 - 全部上传完成后删除本地临时文件即可
补充说明:如果你持有Power Automate高级许可证,也可以自定义Graph API连接器调用解压相关接口,阈值会比原生操作宽松,但仍建议提前确认你所在租户的SharePoint文件操作上限。
内容的提问来源于stack exchange,提问作者Sumadee
相关产品推荐
相关产品推荐

