在Azure数据工厂中使用@item()。name设置“复制数据”源文件夹

时间:2020-03-16 14:00:26

标签: azure-data-factory azure-data-lake azure-data-factory-2 dynamic-content

我有以下管道: enter image description here

获取Metadata1基本上可以检索子项(文件夹的集合,即originalFolder1originalFolder2等。)

在ForEach1活动中,我放置了复制数据活动。

在定义源数据集时,我想使用检索到的文件夹名称作为路径。就像这样:staticFolder1/staticFolder2/originalFolder1

我确实尝试在文件夹路径中使用staticFolder1/staticFolder2/@item().name,但始终会引发错误file not found

我想念什么吗?

2 个答案:

答案 0 :(得分:0)

不幸的是,在ADF中,您不能混合使用字符串和表达式,只能使用一个或另一个

您可以做的是:

@concat(variables('SourceFolderName'), '/', string(item().name) )

假设您有一个名为SourceFolderName的变量,如果您的源文件夹每天都不相同,该变量将很有用;否则将其设置为字符串

@concat('staticFolder1/staticFolder2/', string(item().name) )

然后,您可以连接ForEach活动的项目以形成完整路径

答案 1 :(得分:0)

@sowmen提供的注释很有意义,但是没有必要将item()。name转换为字符串格式。

还有一个有趣的概念,称为字符串插值,它使我们的生活更轻松。请在下面查看适合您情况的代码。希望能有所帮助:)

staticFolder1/staticFolder2/@{item().name}