如果某些管道或活动失败,我可以在Azure数据工厂中应用异常处理吗?如何通过某些TRY / CATCH方法实现异常处理?
假设您使用无代码路由(而不是C#自定义活动),那么通常使用活动的成功,错误和完成(成功或失败)输出。将成功输出路由到正常运行的活动。将错误输出路由到要在失败时执行的活动。
这不是一个尝试/捕获/最终范例,但你可以做你想要的大部分。
有些事要尝试
如果将两个输出路由到输入,则此活动仅作为其输入的逻辑“和”执行,这可能很有用。
即如果你有activity1,activity2和activity3以及activity4。
将activity1的完成输出路由到activity2,将activity2的成功输出路由到activity3。 然后将activity1的失败输出路由到activity3的输入。 然后将activity1的成功输出路由到activity4。这设置了以下流程
活动2可用于清理,因为它是针对两个条件执行的(这有助于实现“最终”但不完全相同)。
Activity3与“catch”类似但不相同 - 它仅在activity1失败且activity2成功时运行。
活动4仅在活动1成功时执行(与try块的其余部分一样)。
您可以使用许多逻辑组合来获得不同的效果。
关于超时和取消的注意事项,这些不会被视为“错误”,并且没有自己的输出路由。