我们正在使用适用于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管道。
答案 0 :(得分:1)
您可以尝试使用Blob触发器和数据工厂操作来Azure Logic Apps:
触发器:When a blob is added or modified (properties only):
希望这会有所帮助。