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

如何在Filter Activity中排除依赖失败上游管道的任务?

正确的Filter Activity筛选表达式及问题分析

问题根源

你的原表达式存在三个关键错误:

  1. 字段大小写/拼写不匹配:
    • 元数据里的依赖字段是小写的dependancy,但你用了item().Dependency(大写D)
    • GetFailures输出里的结果数组键是大写的Value,但你用了output.value(小写v)
  2. 仅检查单个失败管道:原表达式只取了失败列表的第一个元素[0]['PipelineName'],无法处理多个上游管道失败的场景

正确筛选表达式

not(contains(activity('GetFailures').output.Value[*].PipelineName, item().dependancy))

表达式说明

  • activity('GetFailures').output.Value[*].PipelineName:提取所有失败上游管道的名称,生成一个数组(比如["PL_Main_1"]或["PL_Main_1", "PL_Main_2"])
  • contains(..., item().dependancy):检查当前任务的依赖管道是否在失败列表中
  • not(...):取反后,保留所有不依赖失败上游的任务(包括无依赖的PL_Dep_3)

验证场景

  1. 仅PL_Main_1失败时:
    • PL_Dep_1的dependancy是PL_Main_1,contains返回true,not后为false,被排除
    • PL_Dep_2、PL_Dep_3被保留
  2. PL_Main_1和PL_Main_2都失败时:
    • PL_Dep_1、PL_Dep_2的依赖都在失败列表中,not后为false,被排除
    • 仅PL_Dep_3被保留

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:02:45