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

如何通过Azure ML UI将作业输出保存至指定Blob存储位置?

将Azure ML自定义作业输出保存到输入同Blob容器的方法

通过Azure ML UI实现的可行性

目前Azure ML UI的自定义作业模块不支持直接配置输出路径到输入文件所在的Blob容器,必须通过Azure ML SDK(v2)来实现自定义输出路径的指定。

Python代码实现示例

使用Azure ML SDK v2可以精准控制输出存储位置,以下是完整实现步骤:

1. 安装依赖(未安装时执行)

pip install azure-ai-ml

2. 核心代码实现

# 导入必要库
from azure.ai.ml import MLClient, command
from azure.ai.ml.entities import Data, Output
from azure.identity import DefaultAzureCredential

# 连接到Azure ML工作区
ml_client = MLClient(
    credential=DefaultAzureCredential(),
    subscription_id="<你的订阅ID>",
    resource_group_name="<你的资源组名称>",
    workspace_name="<你的工作区名称>",
)

# 定义输入数据:指向目标Blob容器中的文件
input_data = Data(
    path="azureml://subscriptions/<订阅ID>/resourcegroups/<资源组名称>/workspaces/<工作区名称>/datastores/<输入数据存储名称>/paths/data/input.csv",
    type="uri_file"
)

# 定义输出数据:指定到同一Blob容器的目标路径
output_data = Output(
    type="uri_file",
    path="azureml://subscriptions/<订阅ID>/resourcegroups/<资源组名称>/workspaces/<工作区名称>/datastores/<输入数据存储名称>/paths/output/processed_data.csv"
)

# 创建自定义作业
job = command(
    code="./src",  # 你的Python脚本所在本地目录
    command="python process_data.py --input ${{inputs.input_data}} --output ${{outputs.output_data}}",
    inputs={"input_data": input_data},
    outputs={"output_data": output_data},
    environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu@latest",  # 根据需求替换环境
    compute="<你的计算集群名称>",  # 例如"cpu-cluster"
)

# 提交并监控作业
returned_job = ml_client.jobs.create_or_update(job)
ml_client.jobs.stream(returned_job.name)

3. 数据处理脚本示例(process_data.py)

import argparse
import pandas as pd

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--input", type=str, help="输入文件路径")
    parser.add_argument("--output", type=str, help="输出文件路径")
    args = parser.parse_args()

    # 读取输入数据
    df = pd.read_csv(args.input)
    # 替换为你的实际数据处理逻辑
    df["processed_col"] = df["original_col"] * 2
    # 保存输出到指定路径
    df.to_csv(args.output, index=False)

if __name__ == "__main__":
    main()

关键说明

  • 需提前将输入文件所在的Blob容器注册为Azure ML工作区的数据存储,代码中使用的<输入数据存储名称>即为该存储的名称。
  • DefaultAzureCredential会自动获取本地Azure认证(如Azure CLI、VS Code账户)或云端托管身份认证,无需手动输入密钥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 20:47:17