Azure 如何将文件夹作为参数从data lake存储区传递到管道?

Azure 如何将文件夹作为参数从data lake存储区传递到管道?,azure,azure-data-factory,Azure,Azure Data Factory,在data factory中,我知道您可以在管道的开头传递参数,然后稍后使用@pipeline()访问它。如果我在data lake存储中有一个文件夹,我如何将其作为参数传递并在以后访问它(假设我想在其中的每个文件上循环一次)。我是否传递文件夹的路径?我把它当作一个物体传递吗 以下是您可以使用的步骤- 可以将“传递文件夹路径”用作管道的参数(字符串) 将路径和“获取元数据”活动与“子项”一起使用。这将返回JSON格式的文件列表 使用“Foreach”活动循环并执行任何操作 将元数据活动的输出用

在data factory中,我知道您可以在管道的开头传递参数,然后稍后使用@pipeline()访问它。如果我在data lake存储中有一个文件夹,我如何将其作为参数传递并在以后访问它(假设我想在其中的每个文件上循环一次)。我是否传递文件夹的路径?我把它当作一个物体传递吗

以下是您可以使用的步骤-

  • 可以将“传递文件夹路径”用作管道的参数(字符串)

  • 将路径和“获取元数据”活动与“子项”一起使用。这将返回JSON格式的文件列表

  • 使用“Foreach”活动循环并执行任何操作

    将元数据活动的输出用作Foreach活动中的项(下面的示例)

  • @活动(“获取文件列表”)。输出

    希望这有帮助

  • 首先,您需要创建一个数据湖存储链接服务。它将包含azure data lake存储的路径。您可以使用azure data factory UI创建链接服务
  • 然后,您需要创建一个DataLake存储数据集引用,该引用在步骤2中链接了服务

  • 然后在步骤2中创建getMetaData活动引用数据集

  • 然后遵循峰会提供的步骤


  • 所有这些都可以在UI中完成。

    如何获取数据湖存储的路径?它没有像计算机上的文件那样的正常路径。它有一个URL。你通过了吗?你已经创建了一个链接到DataLake store的服务了吗?如果没有,就从那里开始。您必须创建一个链接服务,然后指定从根文件夹开始的路径,例如“Folder1/子文件夹a”。您不需要在数据集中指定数据湖url,它来自链接服务。