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

如何在Azure ADF中检查指定Notebook运行状态并触发自动补跑?

检查campaign_inseason Notebook运行状态的方法

1. 直接引用活动输出属性(最简便)

如果你的新工作流中直接执行campaign_inseason Notebook活动,或者调用包含它的原工作流,可通过活动的内置输出字段获取状态:

  • 假设Notebook活动名称为campaign_inseason_notebook,在If Activity的条件中使用表达式:
    @equals(activity('campaign_inseason_notebook').status, 'Succeeded')
    
  • 常见状态值:Succeeded(成功)、Failed(失败)、Cancelled(取消),按需判断即可。

2. 通过ADF REST API跨工作流查询

若新工作流独立于原Notebook所在工作流,可调用ADF的Pipeline Runs - Query By Factory API查询历史运行状态:

  • 构造筛选条件,指定活动名称为campaign_inseason_notebook,并限定查询当天的运行记录
  • 示例请求体(可在Web Activity中发起调用):
    {
      "lastUpdatedAfter": "YYYY-MM-DDTHH:MM:SSZ",
      "lastUpdatedBefore": "YYYY-MM-DDTHH:MM:SSZ",
      "filters": [
        {
          "operand": "ActivityName",
          "operator": "Equals",
          "values": ["campaign_inseason_notebook"]
        }
      ]
    }
    
  • 从响应结果中提取对应活动的status字段即可判断状态。

3. 查询监控日志数据集(若已配置)

如果你的ADF已将运行日志同步到存储账户或数据库:

  • 直接查询日志表,筛选activity_name = 'campaign_inseason_notebook'且运行时间为当天的记录
  • 从status字段获取该Notebook的运行状态。

针对你的场景的落地建议

因为你需要实现"成功则等待,失败则重试"的逻辑,优先用第一种方法:

  • 在新工作流中嵌入campaign_inseason Notebook活动(或用Execute Pipeline Activity调用原工作流)
  • 添加If Activity,用上述表达式判断状态
  • If分支配置Wait Activity;Else分支直接重新调用该Notebook活动(或用Retry Activity实现重试逻辑)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:33:10