如何解决Azure DataFactory运行活动以响应多个活动中的任何一项失败
假设我在管道的一部分执行“设置”任务,然后在最后执行匹配的清除任务。 如果中间出现问题,我想执行其他清理任务。
我该如何配置?
我不能仅仅声明对最终任务的失败依赖,因为链中较早的失败意味着以后的活动不会运行,因此成功也不会失败。
无论如何我都看不到配置“ OR”依赖项,就像我在Sql Server维护任务时代那样:)
目前看来,最好的选择是将我的失败活动复制5次,然后每次都复制到每个EACH中介步骤的失败上?
解决方法
解决方案是“已跳过”状态。
如果设置成功,并且跳过了“成功清除”,则声明“失败清除”。
来自Activity Dependency States上的MSDN:
活动依赖性
活动依赖性定义了后续活动如何依赖于先前的活动,从而确定是否继续执行下一个任务的条件。一个活动可以依赖于一个或多个先前的活动,而这些活动具有不同的依赖条件。
不同的依赖条件是:成功,失败,跳过,完成。
例如,如果管道具有活动A->活动B,则可能发生的不同情况是:
- 活动B对活动A的依赖条件为成功:
- 仅当活动A的最终状态为成功时,活动B才会运行。
- 活动B对活动A的依赖条件为失败:
- 活动B仅在活动A的最终状态为失败时运行。
- 活动B具有对活动A的依赖条件,且已完成 :
,则如果活动A的最终状态为成功或失败
- 活动B运行
活动B具有活动跳过的依赖项:
- 如果活动A的最终状态为“已跳过” ,则活动B将运行。
- 跳过在活动X->活动Y->活动Z的情况下发生,其中每个活动仅在上一个活动成功成功时运行。如果活动X 失败,则活动Y的状态为“已跳过”,因为它从不执行。同样,活动Z的状态也为“已跳过”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。