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

如何让ADF管道成功完成后自动重启直至手动停止(非调度触发)

实现ADF管道持续自运行(非调度方式)的最简方法

核心要求:管道成功完成后自动重启,禁止使用调度触发器,直至手动停止。以下是两种最简落地方案:

方案一:管道内部添加自调用活动

无需额外组件,纯ADF内部配置即可实现:

  • 在现有管道的所有成功路径终点,添加一个执行管道活动,选择当前管道作为目标管道。
  • 保持活动默认的触发条件(仅当前置活动全部成功时执行),这样每次管道成功完成后,会自动触发自身下一次运行,形成循环。
  • 停止方式:直接在ADF门户终止正在运行的管道实例;也可给管道加一个布尔型参数isContinueRunning(默认true),在执行管道活动的触发条件里增加该参数判断,需要停止时将参数改为false,下一次运行就不会再触发自调用。

方案二:通过Databricks脚本触发重启

利用管道运行的Databricks脚本,在末尾添加触发ADF管道的逻辑:

  • 在Python脚本中使用Azure SDK调用ADF管道运行API,仅当脚本成功执行完毕后触发下一次管道运行。示例代码如下:
    from azure.mgmt.datafactory import DataFactoryManagementClient
    from azure.identity import DefaultAzureCredential
    
    # 初始化ADF客户端
    credential = DefaultAzureCredential()
    adf_client = DataFactoryManagementClient(credential, "你的订阅ID")
    
    # 触发当前管道重启
    adf_client.pipelines.create_run(
        "你的资源组名称",
        "你的ADF工厂名称",
        "你的管道名称"
    )
    
  • 注意:需确保Databricks集群的服务主体拥有ADF管道的运行权限(如Data Factory Contributor)。
  • 停止方式:终止Databricks集群运行,或注释掉脚本中触发ADF的代码,待当前脚本执行完毕后就不会再启动新的管道运行。

方案对比

  • 方案一操作更简便,全程在ADF界面配置,无需修改代码,适合无额外业务判断需求的场景。
  • 方案二更灵活,可在脚本中加入自定义判断逻辑(如根据业务指标决定是否重启),但需要配置SDK依赖和权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 14:22:04