Azure ADF V2 - Activity 完成
Azure ADF V2 - Activity on completion
我正在创建一个小项目来跟踪 ETL 日志。我创建了一个带有参数的存储过程和一个自定义 SQL table 来加载 ETL 日志。
在 ADF 中,我有多个活动。最后,我使用存储过程 activity 将参数映射到 ADF 系统变量(如管道名称、错误详细信息等)以登录 SQL table。
问题:只要中间的 activity 出现错误,管道就会失败并且不会触及存储过程 activity。比如,假设我有 Copy1、Copy2、Copy3,最后 ETLLog_StoredProcedure
。如果 Copy2 失败,管道 运行 在 Copy2 处停止,存储过程 activity 不是 运行。
我已使用 Activity-On-Completion 连接将所有复制活动连接到 ETLLog_StoredProcedure
。看看下面的图片。
期望:我需要调用存储过程activity 即使管道fails/succeeds 以便我可以记录管道的状态。
数据工厂依赖关系用作 AND 条件。这意味着一旦所有 3 个活动都“完成”(成功或失败),存储过程将为 运行。但是在您的场景中,第二个 activity 失败而第三个从不 运行ning (甚至没有失败),这就是存储过程 activity 不是 运行ning 的原因.
你可以用这个实现你正在寻找的,根据失败发生的地方改变存储过程的参数(或者在最后一个中显示成功),例如:
还有其他方法可以实现这一点,但它们需要对 ADF 变量和函数有更多的了解,我认为这是最简单的方法。
希望对您有所帮助!!
我添加了图片以便更好地理解
要在管道中只有一个存储过程调用,您只需添加“已跳过”选项即可。
所以一般来说 Activity“复制数据 3”有 2 个选项来完全满足执行 Activity“存储过程 1”的条件,完成或跳过。
由于“复制数据 1”和“复制数据 2”均已完成且“复制数据 3”已跳过“存储过程 1”已执行。
我正在创建一个小项目来跟踪 ETL 日志。我创建了一个带有参数的存储过程和一个自定义 SQL table 来加载 ETL 日志。
在 ADF 中,我有多个活动。最后,我使用存储过程 activity 将参数映射到 ADF 系统变量(如管道名称、错误详细信息等)以登录 SQL table。
问题:只要中间的 activity 出现错误,管道就会失败并且不会触及存储过程 activity。比如,假设我有 Copy1、Copy2、Copy3,最后 ETLLog_StoredProcedure
。如果 Copy2 失败,管道 运行 在 Copy2 处停止,存储过程 activity 不是 运行。
我已使用 Activity-On-Completion 连接将所有复制活动连接到 ETLLog_StoredProcedure
。看看下面的图片。
期望:我需要调用存储过程activity 即使管道fails/succeeds 以便我可以记录管道的状态。
数据工厂依赖关系用作 AND 条件。这意味着一旦所有 3 个活动都“完成”(成功或失败),存储过程将为 运行。但是在您的场景中,第二个 activity 失败而第三个从不 运行ning (甚至没有失败),这就是存储过程 activity 不是 运行ning 的原因.
你可以用这个实现你正在寻找的,根据失败发生的地方改变存储过程的参数(或者在最后一个中显示成功),例如:
还有其他方法可以实现这一点,但它们需要对 ADF 变量和函数有更多的了解,我认为这是最简单的方法。
希望对您有所帮助!!
我添加了图片以便更好地理解
要在管道中只有一个存储过程调用,您只需添加“已跳过”选项即可。
所以一般来说 Activity“复制数据 3”有 2 个选项来完全满足执行 Activity“存储过程 1”的条件,完成或跳过。 由于“复制数据 1”和“复制数据 2”均已完成且“复制数据 3”已跳过“存储过程 1”已执行。