You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Logic App中用switch函数判断文件名含指定字符并分类存储

Azure Logic App 文件名路由配置问题排查及解决方案

报错原因及修复方案

Switch 执行报错修复

你遇到的Switch报错是因为判断表达式选择了错误的参数:

"The execution of template action 'Switch' failed: The result of the evaluation of 'scope' action expression '@body('Get_file_content')' is not valid. It is of type 'Object' but is expected to be a value of type 'String, Integer'."

body('Get_file_content')返回的是文件内容对象,不符合Switch控件要求的字符串/数字输入格式。你需要将Switch的判断值替换为文件名字段,触发器自带的文件名参数表达式为triggerOutputs()?['headers/x-ms-file-name'],如果是前置“获取文件元数据”动作输出的文件名,对应参数为body('Get_file_metadata')?['Name']。

条件判断执行报错修复

不管是并行分支还是嵌套条件判断,只要将条件判断的左值替换为上面的合法文件名字段即可,完整的判断表达式参考:

  • 精确匹配包含ABC:contains(triggerOutputs()?['headers/x-ms-file-name'], 'ABC')
  • 忽略大小写匹配:contains(toLower(triggerOutputs()?['headers/x-ms-file-name']), 'abc')

配置完成后不需要提前调用Get_file_content接口,先完成文件名判断,命中对应分支后再调用文件读取、复制操作即可降低不必要的接口调用开销。

多文件合并需求实现

如果需要将所有文件名含ABC的文件合并为单个文件存入Blob存储,按文件类型分两种方案:

  • 纯文本、csv等无格式/轻格式文件:每次命中ABC文件名规则时,调用Azure Blob存储的Append Block动作,将当前文件内容追加到指定的合并目标Blob中即可。
  • Excel、Word等结构化格式文件:需要额外搭配Azure Function,在命中规则后将文件传到Function,用对应的文件处理库完成内容合并后再写入Blob存储。

相关截图

内容的提问来源于stack exchange,提问作者Nagesh Shastry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 07:48:03