Azure数据工厂-基于事件的多个文件/ blob触发器

时间:2019-11-19 10:08:06

标签: azure-data-factory azure-data-factory-2 azure-blob-storage azure-blob-trigger

当在Blob容器内的文件夹中创建新文件/ blob时,我通过基于事件的触发器调用ADF V2管道。

Blob容器结构:

BlobContainer-> FolderName->

-> File1.csv

-> File2.csv

-> File3.csv

我使用以下配置创建了触发器:

容器名称: BlobContainer

Blob路径以“ FolderName /

”开头

Blob路径以 .csv

结尾

已检查事件:Blob已创建

Trigger Screenshot

问题:临时在文件夹中创建了三个csv文件。调用管道的触发器运行3次(可能是因为创建了3个Blob)。管道实际上将文件移动到另一个Blob容器中。因此,第一次触发器运行成功,而其余两次失败,因为文件已经被移动。 但是我如何配置触发器,以便即使在其中创建了3个文件,每个文件夹也只能运行一次?

由于文件是一起生成的,因此我需要使用ADF将它们一起移动到新位置。

2 个答案:

答案 0 :(得分:0)

您的blobEventTrigger触发了每个文件的管道,为此,您可以使用“查找活动”来获取文件名,然后使用过滤器活动,该活动过滤所需的文件名并提供可以在IF中检查的filterdItemCounts属性活动。没有文件时,filterdItemCounts返回“ 0”,并且不会触发您的管道。

摘要- 查找活动->过滤器活动-> IF活动->您的管道

答案 1 :(得分:0)

您应该能够在 Blob路径以结尾的选项中指定文件名(例如file1.csv)。

应该解决您的问题-当然,假设所有三个文件都是一起创建的。