如何使用 Azure 数据工厂下载 blob

how to download blobs using azure data factory

我正在使用数据工厂来创建我的管道,但我面临着一些挑战。 该管道由一个查找组成,该查找具有一个 json 数组和一个循环此 json 数组的 foreach,最后是 foreach 循环内的一个设置变量:

管道:

查找:

变量:

现在我正在寻找的是将设置变量值(类似于图像)的结果传递给副本 activity 或类似的东西,以便将图像下载到我们的数据湖容器。 下载图片的名称应该是这样的:

id +'_'+guid()+'.png'

感谢您的帮助

使用 copy data activity 并将源数据集连接到 HTTP 连接器以执行 URL 并汇入数据湖存储,您可以将图像复制到数据湖,如下所示。

  1. 使用 lookup activity,从 JSON 文件中获取数组值。

查找输出:

  1. lookup activity 的输出传递给 Foreach activity。

@activity('Lookup1').output.value

  1. Foreach activity 中,使用 copy data activity 将图像从 URL 复制到数据湖。

Using a set variable is optional to store the URL from lookup output as you can directly use the current item in copy activity.

源数据集:

  • 通过参数化 URL 并使用 binary 数据集创建 HttpServer 链接服务。

  • 在源数据集中,将数据集参数传递给链接服务参数值。

  1. source设置中,将当前itemURLs列传给数据集属性item().urls.

  1. 接收器连接到具有二进制数据集的数据湖存储,并创建数据集参数以提供接收器数据集中的文件名。

  1. sink设置中,根据需要提供数据集文件名。

@concat(item().id,'_',guid(),'.png')

数据湖中的接收器文件:

图片1:

图片2: