文件到达blob存储触发数据工厂管道

时间:2018-05-15 06:37:55

标签: file azure-storage-blobs pipeline azure-data-factory eventtrigger

当文件放在blob容器中时,我需要调用Data Factory V2管道。

我已经尝试使用Powershell检查文件是否存在,我遇到的问题是如果文件不存在,并告诉我它不在那里,我然后将文件放在容器中,Powershell仍然会告诉我不在那里,但也许如果它重新运行变量将获得一个新的价值并告诉它吗?也许有办法解决这个问题?如果是,我可以使用结果来使用Powershell脚本调用管道。我在这里是否正确?

其他选项是编写一个t-sql查询,如果满足行条件,将给出真/假结果,但我不确定如何在/反对DFv2中使用此结果。在IF条件模块中?

尝试使用Logic应用程序,但它有点无用。如果我可以在某些方面获得一些建议,以便在文件到达blob容器时触发管道,那将是很好的,有多种方法可以对猫进行换肤,因此对任何和所有想法都是开放的。谢谢。

1 个答案:

答案 0 :(得分:1)

现在this bog post 2018年6月21日中宣布,此功能可作为ADF V2的事件触发器使用。

有关如何进行设置的最新文档,请参见:Create a trigger that runs a pipeline in response to an event

从文档中:

  

一旦文件到达您的存储位置并创建了相应的Blob,此事件就会触发并运行您的Data Factory管道。您可以在Data Factory管道中创建一个触发器,以响应Blob创建事件,Blob删除事件或这两个事件。

有一个注意事项:

  

此集成仅支持版本2存储帐户(通用)。

事件触发器可以是以下之一,也可以是这两者:

  • Microsoft.Storage.BlobCreated
  • Microsoft.Storage.BlobDeleted

具有以下触发条件:

  • blobPathBeginsWith
  • blobPathEndsWith

该文档还提供了以下有关Blob的事件触发器触发条件的示例:

  • blob路径以('/ containername /')开头–接收容器中任何blob的事件。
  • blob路径以开头('/ containername / foldername')–接收containername容器和foldername文件夹中任何blob的事件。
  • blob路径以开头('/containername/foldername/file.txt')–在containername容器下的foldername文件夹中接收到名为file.txt的blob的事件。
  • Blob路径以结尾('file.txt')–在任何路径下接收名为file.txt的Blob的事件。
  • blob路径以结尾('/containername/file.txt')–在容器容器名称下接收名为file.txt的blob的事件。
  • blob路径以结尾('foldername / file.txt')–接收任何容器下foldername文件夹中名为file.txt的blob的事件。