我们正在使用 Azure SDK for java 将文件上传到 Azure 数据湖存储。上传文件后,需要触发 Azure 数据工厂。BLOB CREATED 触发器被添加到管道中。主要问题是每次文件上传后都会触发两次。
要将文件上传到 ADLS gen2,Azure 提供了与传统 Blobstorage 不同的 SDK。
SDK 使用包 - azure-storage-file-datalake
.
DataLakeFileSystemClient
- 获取容器
DataLakeDirectoryClient.createFile
- 创建一个文件。//此调用可能引发 blob created 事件
DataLakeFileClient.uploadFromFile
- 上传文件 //此调用也可能引发 blob 创建事件
我认为 ADF 触发器没有升级为从 ADLSGen2 适当地捕获 Blob 创建的事件。
有什么选择可以实现这一目标吗?我的组织有限制不要使用 Azure 函数,否则可以根据存储队列消息或服务总线消息触发 Azure 函数,并且可以使用数据工厂 REST API 启动 ADF 管道。