触发Azure数据工厂管道-Blob上传ADLS Gen2(以编程方式)

时间:2020-06-27 10:02:56

标签: azure azure-data-factory azure-data-lake-gen2

我们正在使用适用于Java的Azure SDK将文件上传到Azure数据湖存储中。上传文件后,需要触发Azure数据工厂。在管道中添加了BLOB CREATED触发器。 主要问题是每个文件上传后都会触发两次。

要将文件上传到ADLS gen2中,azure提供的SDK与常规Blobstorage不同。

SDK使用软件包-azure-storage-file-datalake

DataLakeFileSystemClient-获取容器

DataLakeDirectoryClient.createFile-创建文件。 //此调用可能引发了Blob创建的事件

DataLakeFileClient.uploadFromFile-上传文件//此调用也可能引发Blob创建的事件

我认为ADF触发器没有升级,无法从ADLSGen2适当捕获Blob创建的事件。

有没有实现这一目标的选择?我的组织中有一些限制,请不要使用Azure函数,否则可以根据存储队列消息或服务总线消息触发Azure函数,并可以使用数据工厂REST API启动ADF管道。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用Blob触发器和数据工厂操作来Azure Logic Appsenter image description here

触发器:When a blob is added or modified (properties only)

  • 添加一个或多个Blob或 在容器中修改。此触发器将仅获取文件 元数据。要获取文件内容,可以使用“获取文件内容” 操作。如果在以下位置添加/更新文件,则触发器不会触发 子文件夹。如果需要在子文件夹上触发,则多个 应该创建触发器。

操作:Get a pipeline run

  • 获取特定的管道运行执行

希望这会有所帮助。