Azure数据复制活动筛选表达式编写:ADF管道多文件匹配疑问
Azure Data Factory筛选器匹配多文件名的正确写法
在ADF管道中,要从@activity('GetMetadata').output.childItems的结果里筛选指定文件名的文件,别用in操作符——ADF的表达式语言里没有这个函数,你之前写的@or(in(item().name, ...))会直接报错。
两种正确实现方式:
1. 多层嵌套or+equals(基础写法)
ADF的or()函数一次只能接受2个参数,所以需要多层嵌套来实现多条件判断:
@or(equals(item().name, 'file1.txt'), or(equals(item().name, 'file03.pdf'), or(equals(item().name, 'file113.xml'), or(equals(item().name, 'ins222.jpg'), or(equals(item().name, 'AD492.zip'), equals(item().name, 'stat2020.csv'))))))
2. 用contains+数组(更简洁易维护)
把所有目标文件名放到一个数组里,用contains函数直接判断当前文件名是否在数组中,这种写法不用嵌套,后续修改文件名也更方便:
@contains(createArray('file1.txt', 'file03.pdf', 'file113.xml', 'ins222.jpg','AD492.zip','stat2020.csv'), item().name)
内容的提问来源于stack exchange,提问作者thichxai
相关产品推荐
相关产品推荐

