Azure ML Studio Designer 如何跨工作区复制管道及开启导出代码功能?
跨工作区迁移Azure ML Designer管道操作方案
可以通过UI、Python SDK、Azure CLI三种方式将Azure ML Studio Designer创建的管道导出/复制到其他工作区,具体操作和功能开启方式如下:
具体迁移操作步骤
1. UI操作方式
- 在源工作区打开目标设计器管道,点击顶部菜单栏的「...」更多选项
- 选择「下载管道定义」,将管道结构保存为本地JSON文件
- 切换到目标工作区,进入Designer界面,选择「新建管道」→「从管道定义导入」,上传之前保存的JSON文件即可
注意:迁移后需要重新绑定目标工作区对应的数据集、计算资源等依赖项,管道才能正常运行。
2. Python SDK操作方式
- 首先安装对应版本SDK:
pip install azure-ai-ml - 连接源工作区导出管道定义:
from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential import json # 连接源工作区 source_ml_client = MLClient( DefaultAzureCredential(), subscription_id="源订阅ID", resource_group_name="源资源组名", workspace_name="源工作区名" ) # 获取指定管道并导出为本地文件 pipeline = source_ml_client.jobs.get(name="你的管道作业名") with open("pipeline_def.json", "w") as f: json.dump(pipeline._to_dict(), f)
- 连接目标工作区导入管道:
# 连接目标工作区 target_ml_client = MLClient( DefaultAzureCredential(), subscription_id="目标订阅ID", resource_group_name="目标资源组名", workspace_name="目标工作区名" ) # 读取管道定义并创建管道 from azure.ai.ml.entities import PipelineJob with open("pipeline_def.json", "r") as f: pipeline_def = json.load(f) target_pipeline = PipelineJob._from_dict(pipeline_def) target_ml_client.jobs.create_or_update(target_pipeline)
3. Azure CLI操作方式
- 先安装Azure CLI的ml扩展:
az extension add -n ml - 登录Azure账户:
az login - 导出源工作区管道定义:
az ml job show --name 管道作业名 --resource-group 源资源组名 --workspace-name 源工作区名 --subscription 源订阅ID > pipeline_def.json - 导入到目标工作区:
az ml job create --file pipeline_def.json --resource-group 目标资源组名 --workspace-name 目标工作区名 --subscription 目标订阅ID
「Export To Code」选项缺失解决方案
该功能属于预览特性,未显示可按以下步骤排查开启:
- 进入Azure ML Studio的「管理」→「预览功能」面板
- 在搜索框输入「Designer代码导出」,找到对应选项后切换为开启状态
- 刷新页面后重新打开Designer管道,即可在顶部菜单栏看到该选项
- 如果依然看不到,确认你使用的是经典Designer管道还是SDK v2生成的管道,仅v2版本的Designer管道支持代码导出功能,经典管道需要先升级到v2版本才能使用该功能。
相关界面参考:
内容的提问来源于stack exchange,提问作者D. Reagan
相关产品推荐
相关产品推荐

