繁体   English   中英

Azure ADF V2 - 完成时的活动

[英]Azure ADF V2 - Activity on completion

我正在创建一个小项目来跟踪 ETL 日志。 我创建了一个带有参数和自定义 SQL 表的存储过程来加载 ETL 日志。

在 ADF 中,我有多个活动。 最后,我使用带有映射到 ADF 系统变量(如管道名称、错误详细信息等)的参数的存储过程活动来登录 SQL 表。

问题:每当中间的活动出现错误时,管道就会失败并且不会触及存储过程活动。 就像,假设我有 Copy1、Copy2、Copy3 和最后ETLLog_StoredProcedure 如果 Copy2 失败,管道运行会在 Copy2 处停止,并且不会运行存储过程活动。

我已使用 Activity-On-Completion 连接将所有 Copy 活动连接到ETLLog_StoredProcedure 看看下面的图片。

期望:即使管道失败/成功,我也需要调用存储过程活动,以便我可以记录管道的状态。

示例 ADF ETLLog

数据工厂依赖项用作 AND 条件。 这意味着一旦所有 3 个活动都“完成”(成功或失败),将运行存储过程。 但在您的场景中,第二个活动失败,第三个活动从未运行(甚至没有失败),这就是存储过程活动未运行的原因。

您可以通过此实现您正在寻找的内容,根据失败发生的位置(或显示最后一个成功)更改存储过程的参数,例如:

在 ADF 中记录错误

还有其他方法可以实现这一点,但它们需要对 ADF 变量和函数有更多的了解,我认为这是最简单的。

希望这有帮助!!

我添加了图片以便更好地理解ADFPicturePipelineRun

要在管道中只有一个存储过程调用,您只需添加选项“跳过”。

因此,通常活动“复制数据3”有2个选项来完全填充执行活动“存储过程1”的条件,完成或跳过。 当“复制数据1”和“复制数据2”都完成并且“复制数据3”被跳过时,“存储过程1”被执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM