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

结合Lookup Activity与If Activity构建的Pipeline执行失败,求排查方案

Azure Data Factory管道执行失败排查与解决

核心问题根源

你的emp.csv文件中,filename列的所有取值都带有前导空格(比如实际存储的是" a"而非"a"),Lookup Activity读取数据时会完整保留这些空格字符。

当前你设置的If条件表达式@equals(item().filename,'anubhav'),是将带空格的字段值与无空格的字符串'anubhav'做对比,结果永远为false,进而引发两个问题:

  • 本该跳过的anubhav条目会执行数据导入操作,而存储中不存在带空格的" anubhav"文件,触发报错
  • 本该导入的a和b条目,实际传入的文件名是带空格的" a"、" b",同样找不到对应文件,导致管道失败

解决方法

方法1:直接清理源文件空格

修改emp.csv,移除filename列所有值的前导/尾随空格,修改后内容如下:

emp_id,filename
1,a
2,b
3,anubhav

方法2:在表达式中处理空格(无需修改源文件)

如果无法修改源文件,可在两个关键位置添加trim()函数去除空格:

  1. If条件表达式修改为:
    @equals(trim(item().filename),'anubhav')
    
  2. 数据导入操作的文件名参数修改为:
    @trim(item().filename)
    
    确保传入的文件名与存储中的实际文件名一致。

额外验证

确认Foreach Activity的Items配置为@activity('你的Lookup活动名称').output.value,保证正确遍历Lookup返回的所有数据条目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 03:25:35