使用Azure ADF Filter Activity无法实现数组过滤的问题求助
ADF Filter活动无匹配筛选结果修复方案
- 检查字段引用准确性:如果待筛选数组为对象数组,Filter条件的字段引用必须严格匹配元素的字段层级、大小写,例如数组元素结构为
{"category":"AA","id":123},筛选条件需写为@equals(item().category, 'AA'),拼写错误、大小写不符都会导致匹配失效。 - 检查数据类型一致性:匹配值的类型必须和数组元素类型完全一致,例如元素为数值类型时,筛选条件不要用引号包裹匹配值,错误写法
@equals(item(), '123')会将数值和字符串比较,永远返回false。 - 检查输入源配置正确性:确认Filter活动的「From」参数直接引用Set Variable定义的数组变量,不要误将变量再套一层数组生成函数,例如错误写法
@createArray(variables('source_arr'))会把整个源数组作为第一个元素,自然无法匹配到目标值。 - 检查字符串隐藏字符:如果数组元素为字符串类型,可临时添加Set Variable活动输出
@json(string(variables('source_arr')))查看实际存储的内容,排除空格、换行、转义符号等隐藏字符导致的匹配失败。
对应运行日志说明:
输出{"ItemsCount": 1,"FilteredItemsCount": 0,"Value": []}表示源数组存在1个有效元素,但未命中设置的筛选条件,优先按上述步骤排查条件表达式即可。
内容的提问来源于stack exchange,提问作者NikRED
相关产品推荐
相关产品推荐

