【问题标题】:Trigger Azure data factory pipeline - Blob upload ADLS Gen2 (programmatically)触发 Azure 数据工厂管道 - Blob 上传 ADLS Gen2(以编程方式)
【发布时间】:2020-10-17 20:53:48
【问题描述】:

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

要将文件上传到 ADLS gen2,Azure 提供了与传统 Blobstorage 不同的 SDK。

SDK 使用包 - azure-storage-file-datalake。

DataLakeFileSystemClient - 获取容器

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

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

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

有什么办法可以做到这一点吗?我的组织有限制不能使用Azure函数,否则可以根据存储队列消息或服务总线消息触发Azure函数,并且可以使用数据工厂REST API启动ADF管道。

【问题讨论】:

  • 您好,如果我的回答对您有帮助,您可以接受(标记)为答案(单击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢。

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


【解决方案1】:

您可以尝试使用带有 blob 触发器和数据工厂操作的 Azure Logic Apps:

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

  • 当添加一个或多个 blob 或 在容器中修改。此触发器只会获取文件 元数据。要获取文件内容,可以使用“获取文件内容” 手术。如果文件被添加/更新到 子文件夹。如果需要在子文件夹上触发,多个 应该创建触发器。

操作:Get a pipeline run

  • 获取特定管道运行执行

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多