如何通过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
相关产品推荐
相关产品推荐

