使用Logic App跨存储账户复制Blob容器中的多级文件夹与文件
用Logic App递归复制Blob容器多级文件夹内容的正确配置
常见出错点
- 没开递归遍历,只复制了根目录文件
- 目标路径拼接错误,丢失子文件夹层级
- 存储账户权限不足,Logic App无读写权限
正确工作流配置步骤
- 选触发方式:一次性复制用「手动触发」,定期同步用「定时触发」
- 列出源Blob:添加「Azure Blob存储 - 列出Blob」操作
- 配置源存储账户(strtest1)的连接
- 容器名称填
Test - 前缀设为
RPA/(只获取RPA文件夹下的内容) - 必须勾选递归选项(核心配置,否则不会遍历子文件夹)
- 遍历所有Blob:添加「控制 - 应用到每个」操作,把上一步的「值」设为列出的Blob集合
- 复制到目标容器:在「应用到每个」内部加「Azure Blob存储 - 复制Blob」操作
- 源Blob选当前遍历项的「标识符」
- 配置目标存储账户(strtest2)的连接
- 目标容器名称填
test2 - 目标Blob路径用表达式拼接保留层级:
replace(items('应用到每个')?['Path'], 'RPA/', '')(把源路径里的RPA/替换掉,保留剩余子文件夹和文件名结构)
- 可选错误处理:加「控制 - 捕获异常」包裹复制步骤,记录失败的Blob信息
关键注意项
- 递归选项是遍历子文件夹的核心,必须勾选
- 目标路径表达式要确保子文件夹层级不丢失,避免所有文件堆在目标容器根目录
- 给Logic App的服务主体或连接字符串配置两个存储账户的Storage Blob Data Contributor权限
内容的提问来源于stack exchange,提问作者Hemant Kumar
相关产品推荐
相关产品推荐

