Azure data factory 设置';复制数据';Azure数据工厂中名为@item().name的源文件夹

Azure data factory 设置';复制数据';Azure数据工厂中名为@item().name的源文件夹,azure-data-factory,azure-data-lake,azure-data-factory-2,dynamic-content,Azure Data Factory,Azure Data Lake,Azure Data Factory 2,Dynamic Content,我有以下管道: Get Metadata1基本上检索子项(这是文件夹的集合,即originalFolder1,originalFolder2,等等) 在ForEach1活动中,我放置了复制数据活动 定义源数据集时,我希望使用检索到的文件夹名称作为路径。所以它是这样的:staticFolder1/staticFolder2/originalFolder1 我确实尝试在文件夹路径中使用了staticFolder1/staticFolder2/@item().name,但它总是抛出一个错误file

我有以下管道:

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

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

定义源数据集时,我希望使用检索到的文件夹名称作为路径。所以它是这样的:
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活动的项以形成完整的路径。

由@sowmen提供的注释是有意义的,但无需将项()名称转换为字符串格式

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


你从哪里复制的,是存储帐户吗?@BowmanZhu源和汇都来自DataLake
staticFolder1/staticFolder2/@{item().name}