如何防止Azure Logic Apps复制文件夹时生成同名文件?
问题根源
你使用的When a file is created or modified (properties only)触发器会同时响应文件和文件夹的创建/修改事件,但后续步骤没有区分二者,导致文件夹被当作文件处理,最终在存储账户生成了同名的无效文件。
具体解决步骤
- 在触发器之后立即添加条件判断步骤,过滤文件夹事件:
- 条件规则设置为:
@equals(triggerBody()?['Item type'], 'File') - 只有当条件判定为「是」时,才执行后续的「获取文件内容」「Blob检查/删除/上传」步骤;「否」的分支直接结束流程,不做任何操作。
- 条件规则设置为:
- 可选优化:补充扩展名验证,在条件中增加
@not(empty(triggerBody()?['File extension'])),进一步确保只处理带扩展名的文件,避免误处理特殊文件夹。
逻辑调整后流程
When a file is created or modified (properties only)- 条件判断:仅处理文件类型
- 是:继续执行后续步骤
- 否:结束流程
- 使用路径获取文件内容(文件夹路径+带扩展名的文件名)
- 检查Blob是否存在
- 删除Blob
- 将Blob上传至存储容器
内容的提问来源于stack exchange,提问作者Kerem
相关产品推荐
相关产品推荐

