如何在Azure ML SDK v2中从内部取消当前管道作业?
在Azure ML SDK v2中取消管道作业
在SDK v2中,取消管道作业需要通过MLClient操作父管道级作业,无需混用v1代码。以下是实现方案:
核心逻辑
- 获取当前步骤的运行上下文
- 通过上下文获取
MLClient实例(用于Azure ML资源操作) - 定位父管道作业的唯一标识
- 调用取消接口终止整个管道作业
代码示例
from azure.ai.ml import Run from azure.ai.ml import MLClient # 获取当前步骤的运行上下文 current_run = Run.get_context() # 获取MLClient实例(Azure ML环境中自动使用托管身份验证) ml_client = current_run.get_ml_client() # 替换为你的实际判断条件 condition = True if condition: # 取消父管道作业 ml_client.jobs.cancel(current_run.parent.id)
关键说明
current_run.parent.id:对应v1中的run.parent.id,指向整个管道作业的唯一IDml_client.jobs.cancel():SDK v2统一的作业取消接口,支持传入作业ID或名称- 身份验证:在Azure ML托管计算中运行时,
get_ml_client()自动使用托管身份验证;本地测试需提前配置Azure凭据(如az login)
内容的提问来源于stack exchange,提问作者Celso
相关产品推荐
相关产品推荐

