0

我们正在使用 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 管道。

4

1 回答 1

1

您可以尝试使用 blob 触发器和数据工厂操作的 Azure 逻辑应用:在此处输入图像描述

触发器:添加或修改 blob 时(仅限属性)

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

行动:让管道运行

  • 获取特定管道运行执行

希望这可以帮助。

于 2020-06-29T02:22:36.300 回答