如何通过Logic App将SharePoint文档库、页面库文件及结构同步至Azure Blob
我需要将SharePoint站点中「文档库」和「页面库」的所有文件及完整文件夹结构同步到Azure Blob,要求Blob中的文件夹层级与SharePoint完全一致,但尝试的Flow出现部分错误,无法实现目标。


问题排查与修正方案
1. 实现递归遍历嵌套文件夹
原Flow大概率未处理深层嵌套文件夹,需补充递归逻辑:
- Flow触发后,先获取目标库的根文件夹内容
- 添加「Apply to each」循环,对每个项目进行类型判断:
- 若为文件夹,调用「获取文件夹内容」动作并勾选「包括子文件夹」,递归处理子文件夹内的文件与子文件夹
- 若为文件,进入上传流程
2. 精准还原文件夹层级
要让Blob路径与SharePoint完全匹配,需动态构建目标路径:
- 提取文件在SharePoint中的服务器相对路径(示例:
/sites/MySite/文档库/部门资料/项目文档/报告.pdf) - 截取路径中库名称之后的部分(示例:
部门资料/项目文档/报告.pdf),作为Blob的最终路径 - 在「创建Blob」动作中,将「Blob路径」字段设置为上述拼接后的路径
3. 适配页面库文件特性
页面库中的.aspx等特殊文件需针对性处理:
- 确保「获取文件夹内容」动作包含所有状态的页面文件(已发布、草稿)
- 上传时保留文件原扩展名,避免页面格式损坏
4. 添加错误处理机制
避免单个文件上传失败导致整个Flow终止:
- 对「创建Blob」动作设置「Configure run after」,勾选「已失败」「已超时」「已跳过」
- 对失败文件记录关键信息(如文件名、路径、错误原因)至日志存储(如Azure Log Analytics、SharePoint列表),便于后续排查修复
内容的提问来源于stack exchange,提问作者Hemant Kumar
相关产品推荐
相关产品推荐

