items- @activity('list of files in folder').output.childItems
condition- @contains(string(activity('filenames present in csv').output.value),item().name)
为了从ADLS文件夹中获取不匹配的文件名,我使用了以下项和筛选条件:
items- @activity('list of files in folder').output.childItems
condition- @not(contains(string(activity('filenames present in csv').output.value),item().name))
步骤3:
现在,使用for each activity将每个文件复制到另一个位置。我在1st中使用的items值为@activity('getting matching files').output.Value for each。在此,我配置了一个copy activity来复制每个项目的当前值(即filename)。
@join(variables('filenames'),'
')
#the values will be joined using newline(\n).
#Using \n directly in dynamic content would not work as it will be taken as \\n.
#So change it in pipeline json as in above reference image.
1条答案
按热度按时间ffscu2ro1#
您可以通过以下3个步骤实现此要求,即从csv文件和ADLS文件夹中获取文件名,过滤匹配和不匹配的文件名(从文件夹中),最后执行相应的复制操作。
步骤1:
get metadata
活动从ADLS文件夹(sample1.csv、sample2.csv、sample3.csv、sample4.csv)中获取文件名列表。创建指向您的文件夹的数据集,并使用child items
作为字段列表。look up
从csv文件中获取文件名(sample1.csv、sample2.csv、sample5.csv、sample6.csv)。步骤2
步骤3:
@activity('getting matching files').output.Value
for each。在此,我配置了一个copy activity来复制每个项目的当前值(即filename)。filename
的参数。我从复制数据源设置中传递了它的值(@item().name),如下所示。x1c4d 1x指令集
["sample3.csv", "sample4.csv"]
。append variable
,值为@item().name
。指令集
no quote character
。输出:
指令集
指令集