【问题标题】:Azure Data Factory - Event based triggers on multiple files/blobsAzure 数据工厂 - 多个文件/blob 上的基于事件的触发器
【发布时间】:2020-03-14 19:36:18
【问题描述】:

当在 blob 容器内的文件夹中创建新文件/blob 时,我正在通过基于事件的触发器调用 ADF V2 管道。

Blob 容器结构:

BlobContainer -> 文件夹名称 ->

-> File1.csv

-> File2.csv

-> File3.csv

我已经使用以下配置创建了触发器:

容器名称:BlobContainer

Blob 路径以:FolderName/

开头

Blob 路径以:.csv

结尾

已检查事件:已创建 Blob

Trigger Screenshot

问题: 文件夹中临时创建了三个 csv 文件。调用管道的触发器运行了 3 次(可能是因为创建了 3 个 blob)。管道实际上将文件移动到另一个 blob 容器中。所以第一个触发器运行成功,剩下的 2 个失败,因为文件已经被移动了。 但是,即使在其中创建了 3 个文件,我如何配置触发器以便每个文件夹仅运行一次?

由于文件是一起生成的,我需要使用 ADF 将它们一起移动到新位置。

【问题讨论】:

    标签: azure-data-factory azure-data-factory-2 azure-blob-storage azure-blob-trigger


    【解决方案1】:

    您的 blobEventTrigger 触发了每个文件的管道,为此,您可以使用“查找活动”获取文件名,然后使用过滤器活动,过滤所需的文件名并提供可以在 IF 中检查的 filterdItemCounts 属性活动。当没有文件时,filterdItemCounts 返回“0”并且您的管道未触发。

    总结- 查找活动 -> 过滤活动 -> IF 活动 -> 您的管道

    【讨论】:

    • 我也有同样的问题。查找活动如何获取文件名?能详细点吗?
    • 您可以在触发器中使用 "parameters": { "fileName": "@triggerBody().fileName"} 参数,并且此文件名也可以在文件的查找活动中使用。跨度>
    猜你喜欢
    • 1970-01-01
    • 2022-10-14
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 2021-11-30
    • 2022-11-23
    • 2021-06-26
    相关资源
    最近更新 更多