ADF数据流失败处理生效但Pipeline仍显示失败的配置咨询
问题解答
这是默认行为吗?
是的,这是Azure Data Factory的默认行为。你在数据流中配置的On Flow Failure逻辑属于数据流内部的错误捕获与处理,它仅负责在数据流执行出错时触发指定操作(比如移动错误文件),但不会改变数据流活动本身的执行状态——数据流活动仍会被标记为失败。而Pipeline的状态由其包含的活动执行状态决定,只要有一个活动标记为失败,整个Pipeline就会显示失败状态。
如何让处理完错误的Pipeline显示为成功?
可以通过Pipeline层面的错误处理机制实现,推荐两种方式:
1. 使用Try-Catch容器
- 将你的数据流活动放入
Try容器块中 - 在
Catch容器块中,可添加日志记录、额外清理操作(如果需要),或仅保留空操作 - 当数据流执行失败时,
Catch块会触发执行,整个Try-Catch容器会标记为“完成”状态,从而让整个Pipeline显示为成功
2. 配置数据流活动的失败分支
- 在Pipeline画布中,点击数据流活动的红色失败箭头(代表活动失败时的分支)
- 添加后续操作步骤(比如记录错误日志、设置变量等)
- 此时即使数据流活动失败,只要后续分支的操作执行完成,整个Pipeline会基于最终完成的活动状态标记为成功
需要注意:这两种方式都是在Pipeline层面覆盖活动的失败状态传递,确保整个Pipeline最终处于成功状态,同时不会影响你在数据流内部已配置的错误文件移动逻辑。
内容的提问来源于stack exchange,提问作者Sarah
相关产品推荐
相关产品推荐

