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

如何通过AzureML Python API V2创建需在Web UI触发才运行的未启动作业

如何通过AzureML Python API V2创建需在Web UI触发才运行的未启动作业

嗨,我来帮你搞定这个问题!你当前的代码会自动运行作业,是因为默认调用ml_client.jobs.create_or_update()时,系统会直接提交并执行作业。要创建一个得在Web UI手动触发才启动的未运行作业,核心是把作业以草稿状态保存,这样它就不会自动执行,等你在AzureML Studio里手动操作触发。

下面是具体的修改方案:

步骤1:修正代码的小问题

你代码里的@dsl.pipeline装饰的函数定义少了括号,应该写成def my_job():,不然会触发语法错误,先把这个小问题补上。

步骤2:以草稿状态保存作业

在调用ml_client.jobs.create_or_update()时,添加draft=True参数,这样作业会被保存为草稿状态,不会立即启动运行。

修改后的完整代码如下:

from azure.ai.ml import MLClient, command
from azure.ai.ml.dsl import pipeline
from azure.identity import DefaultAzureCredential


@pipeline
def my_job():
    # 定义你的命令步骤
    echo_step = command(command="echo 'Hello'")
    # 可选:如果有输出可以返回,方便后续查看
    return {"echo_result": echo_step.outputs.stdout}

# 初始化ML客户端
ml_client = MLClient(
    subscription_id=subscription_id,
    resource_group_name=resource_group,
    credential=DefaultAzureCredential()
)

# 构建pipeline作业实例
pipeline_job = my_job()

# 以草稿状态保存作业,不会自动运行
ml_client.jobs.create_or_update(pipeline_job, draft=True)

后续在Web UI触发作业的操作

完成代码运行后,你登录AzureML Studio:

  • 左侧导航栏找到「作业」选项
  • 切换到「草稿」标签页,就能找到你刚创建的作业
  • 点击进入作业详情页,右上角的「提交」按钮就是触发运行的入口,点击后作业就会开始执行啦

另外补充个小知识点:如果之后你想通过API启动这个草稿作业,也可以先获取该草稿作业的对象,再调用不带draft参数的ml_client.jobs.begin_create_or_update()来提交运行,但既然你要的是Web UI触发,上面的方案就完全够用了。

备注:内容来源于stack exchange,提问作者techtech

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 07:12:58