You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Factory中如何获取ForEach Activity的执行状态?

Azure Data Factory中获取ForEach活动执行状态的方法

可以获取ForEach活动的执行状态,具体实现方式如下:

1. 直接获取ForEach整体执行状态

在包含ForEach的管道中,可通过表达式直接获取ForEach活动的状态:

@activity('<你的ForEach活动名称>').status

该表达式返回值为 Succeeded、Failed 或 Cancelled,对应ForEach活动的整体执行结果。

2. 在OnComplete事件中传递状态并保存

如果要在ForEach执行完成后通过存储过程保存状态,按以下步骤操作:

  • 为包含ForEach的管道配置On Complete事件,触发一个专门用于保存状态的子管道(例如命名为SaveForEachStatus)。
  • 在触发子管道时添加自定义参数,传递所需信息:
    • ForEach活动状态:@activity('<你的ForEach活动名称>').status
    • 管道运行ID(可选):@pipeline().RunId
    • ForEach活动名称(可选):'<你的ForEach活动名称>'
  • 在子管道中添加Stored Procedure活动,将接收的参数作为存储过程的输入参数,执行状态保存逻辑。

3. (可选)获取ForEach内部每个迭代的状态

如果需要记录ForEach中每个迭代的执行情况:

  • 在管道中定义一个数组类型变量(例如@variables('IterationStatuses'))。
  • 在ForEach内部的活动流程末尾,添加Append Variable活动,将当前迭代的状态(如@activity('<内部活动名称>').status)和迭代项信息添加到数组变量中。
  • 触发OnComplete子管道时,将该数组变量作为参数传递,存储过程可解析数组并保存每个迭代的状态。

关于“无法找到对应ForEach活动”的问题

若在OnComplete的子管道中直接尝试访问原管道的ForEach活动输出,会因上下文不同导致无法访问。解决方式是在原管道触发子管道时,提前将所需状态参数传递过去,而非在子管道中反向查询。

内容的提问来源于stack exchange,提问作者GVFLUSA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 11:22:49