Azure Data Factory失败管道重运行是否保留原始输入
重跑时的默认参数取值规则
直接在ADF控制台对历史失败运行点「重跑」按钮触发全管道重跑时,默认不会保留失败运行的原始输入值:
- 如果你的当日日期参数是通过
utcNow()这类动态表达式在管道启动时实时计算生成的,重跑触发瞬间会重新执行表达式计算,最终传入的是重跑当天的新日期值,不是原始失败那天的日期。 - 只有选择「从失败活动开始重跑」选项时,已经跑完的前置活动输出、提前固化的静态参数值会被复用,但管道入口处动态计算的全局参数,依然会按重跑的时间点重新计算取值。
自动关联原始运行参数的内置方案
ADF本身提供原生能力,不需要手动翻历史运行记录补填参数:
- 重跑确认弹窗自带参数保留选项:不管是手动触发还是调度触发的管道,点击重跑后弹出的确认窗口里,默认未勾选「使用原始运行参数」选项,只要勾选这个选项,系统就会自动拉取对应失败运行的所有原始输入参数,不需要手动补填历史日期值,直接运行就会传入失败当天的日期作为请求参数。
- 自定义逻辑适配无感知重跑场景:如果需要默认重跑就自动关联原始参数、不需要每次手动勾选,可以利用系统自带的运行关联标识实现:所有重跑生成的管道实例,都会自带
OriginalRunId系统属性,对应最初那次失败运行的唯一ID。只需要在管道入口加一个查询活动,通过这个ID拉取原始失败运行的完整参数集合,把里面的原始日期值赋值给后续API调用的参数即可,全程不需要人工介入填值。
内容的提问来源于stack exchange,提问作者Sindre Aalhus
相关产品推荐
相关产品推荐

