Azure ADF V2 ForEach 文件将数据从 Blob 存储复制到 SQL Table

Azure ADF V2 ForEach File CopyData from Blob Storage to SQL Table

我需要设计一个 ADF 管道,以将在名为 "Current" 的特定 Blob Store 文件夹路径上创建的 CSV 文件复制到 SQL table。成功复制后,我必须将文件移动到存档文件夹中。

我完成的事情:我正在使用复制数据 Activity 复制 CSV 文件并加载到我的 SQL table.成功后,另一个复制数据 activity 会将 CSV 文件从 "Current" 文件夹复制到 "Archive",此后我有一个 Delete activity 从当前文件夹中删除文件。

问题:这在一次只有一个文件的情况下完全没问题。但我想重新设计它来处理多个文件导入。我想利用 ForEach activity。请帮忙。

您需要在 for-each 之前添加一个获取元数据 activity。 Get Metadata activity 将获取当前目录中的文件并将它们传递给 For-Each。您将它连接到您的 Blob 存储文件夹并指定文件掩码。 activity 的输出将需要作为 for-each 循环的输入。像这样..@activity('Get Metadata').输出。 顺便问一下,您是如何触发此 ADF 管道的?实现此目的的另一种方法是,每当在该 blob 目录中创建文件时,为 运行 此管道设置一个事件触发器。 以下是对存储容器中的文件使用 For-Each 的步骤。

  1. 将获取元数据参数设置为 "Child Items"
  2. 在您的 For-Each 中,将 Items 设置为 @activity('Get Metadata1').output.childitems

  1. 在您的副本中使用的源数据集中 Activity 创建一个名为 FileName 的参数。

  1. 设置文件路径使用参数

  2. 在复制 Activity 上将 FileName 参数设置为 @item().name

要完成,您需要根据需要设置水槽。应该可以了。