【问题标题】:Set 'Copy Data' source folder with @item().name in Azure Data Factory在 Azure 数据工厂中使用 @item().name 设置“复制数据”源文件夹
【发布时间】:2020-06-27 15:34:31
【问题描述】:

我有以下管道:

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

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

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

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

我错过了什么吗?

【问题讨论】:

  • 你是从哪里复制过来的,是存储账户吗?
  • @BowmanZhu source 和 sink 都来自DataLake

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


【解决方案1】:

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

你可以做的是:

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

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-10-21
      • 2020-08-14
      • 2019-11-19
      • 2019-04-17
      • 1970-01-01
      • 1970-01-01
      • 2017-03-06
      • 1970-01-01
      • 2021-01-01
      相关资源
      最近更新 更多