首页 > 解决方案 > 在使用 Blob 触发 ADF 时需要帮助

问题描述

需要在 Blob 中接收到文件时触发。但复杂的部分是有 2 个文件,A.JSON 和 B.JSON,它们将在 2 个不同的位置生成。

因此,当 A.JSON 在位置 1 中生成时,管道 A 应该触发,并且当 B.JSON 在位置 2 中生成时,管道 A 应该触发。我已经使用 1 个位置的 1 个文件完成了 blob 触发器,但不确定当 2 个不同的文件位于 2 个不同的位置时该怎么做。

在此处输入图像描述

标签: triggersazure-data-factory

解决方案


您可以通过三种方式做到这一点。

  1. 直接使用带有条件的 ADF 来评估触发的文件是否来自您需要的特定路径。

  2. 为要监视创建的 blob 的每个不同路径设置逻辑应用。

  3. 添加为不同路径配置的两个不同触发器(最佳选项)

第一种方法:( 每次在容器中触发文件时都会产生运行开销。)

编辑触发器以查看整个存储或所有容器。选择文件类型:在您的情况下为 JSON。

在此处输入图像描述

为动态容器和文件名参数化源数据集

在此处输入图像描述

在管道中创建参数,一个用于引用您要监视的文件夹路径,一个用于保存触发的文件名。

在此处输入图像描述

wherereceive_trigger_files将被动态分配触发文件名。

在此处输入图像描述

我在这里展示了一个示例,如果触发的文件路径和我们的监控路径匹配,查找活动将评估路径并向前执行相应的活动。

在此处输入图像描述

另一个为path2

在此处输入图像描述

例如 Get MetaData 活动或您的场景中的任何活动

在此处输入图像描述

让我们手动调试并检查存储的exercise01.json文件path2

在此处输入图像描述

您也可以类似地使用 IF 条件活动,但需要多个步骤,否则使用活动状态的监视将不清楚。

在此处输入图像描述

第二种方法:设置 Blob 触发逻辑应用

在此处输入图像描述

使用操作运行 ADF 管道Create a pipeline run,并如前所述设置或传递适当的参数。

在此处输入图像描述

第三种方法:为您希望监视 blob 创建的路径添加 2 个触发器。

在此处输入图像描述


推荐阅读