在 Azure 数据工厂中使用 @item().name 设置 'Copy Data' 源文件夹
Set 'Copy Data' source folder with @item().name in Azure Data Factory
我有以下管道:
Get Metadata1 基本上检索子项(这是文件夹的集合,即 originalFolder1
、originalFolder2
等)。
在 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}
我有以下管道:
Get Metadata1 基本上检索子项(这是文件夹的集合,即 originalFolder1
、originalFolder2
等)。
在 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}