如何配置Azure Logic App按文件名将Blob Storage文件分存至SharePoint
一、条件判断的常见配置错误
- 检查文件名变量引用:确保条件中使用的是Blob Storage触发器返回的原始文件名字段(比如
@{triggerBody()?['Name']}),不要误引用包含路径的完整字符串,否则会导致匹配失效。 - 处理大小写敏感性:Logic App的
contains函数默认区分大小写,如果文件名存在Dog/DOG这类大小写变体,统一用toLower()转换后再判断:contains(toLower(triggerBody()?['Name']), 'dog')。 - 确认运算符选择:务必选「包含(Contains)」作为判断逻辑,不要误选「等于(Equals)」或其他运算符。
二、条件在Logic App中的正确位置
条件必须放在Blob Storage触发器之后、SharePoint上传动作之前,标准流程结构:
- 触发器:当Blob Storage容器内新增文件时
- 条件分支:判断文件名是否包含'dog'
- 分支1(满足条件):执行上传至SharePoint文件夹1的动作
- 分支2(不满足条件):执行上传至SharePoint文件夹2的动作
避免将条件嵌套在循环、其他分支内部,或放在上传动作之后,否则会打乱执行顺序导致逻辑错误。
三、快速定位问题的测试步骤
- 新增一个Compose动作放在触发器之后,输出
@{triggerBody()?['Name']},运行一次查看实际获取到的文件名内容,确认是否符合预期。 - 将条件中的判断表达式直接复制到Compose动作中执行,查看返回结果是
true还是false,快速验证表达式是否有效。
内容的提问来源于stack exchange,提问作者Makeretti
相关产品推荐
相关产品推荐

