在 Azure 数据工厂中使用 @item().name 设置 'Copy Data' 源文件夹

Set 'Copy Data' source folder with @item().name in Azure Data Factory

我有以下管道:

Get Metadata1 基本上检索子项(这是文件夹的集合,即 originalFolder1originalFolder2 等)。

在 ForEach1 activity 里面,我把复制数据 activity.

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

我确实尝试在文件夹路径中使用 staticFolder1/staticFolder2/@item().name,但它总是抛出错误 file not found

我是不是漏掉了什么?

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

您可以做的是:

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

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

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

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

@sowmen 提供的意见有道理,但没有必要将item().name 转换为字符串格式。

还有一个有趣的概念叫做字符串插值,它让我们的生活更轻松。请参阅下面适合您的场景的代码。希望对您有所帮助:)

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