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

Azure SDK v2使用MLClient无法下载批量作业输出问题

问题排查与解决方法

针对你遇到的Azure ML批量端点作业完成但无法通过SDK下载预测结果的问题,可按以下步骤排查:

  • 确认作业是否完全完成
    有时候stream方法可能在作业收尾阶段提前返回,需手动校验作业状态:

    job = ml_client.jobs.get(job_name)
    print(job.status)
    

    必须等待作业状态变为Completed后再执行下载操作,避免输出文件未完成同步。

  • 核对输出名称参数
    批量作业的output_name不一定是默认的predictions,需先查看作业实际输出定义:

    job = ml_client.jobs.get(job_name)
    print(job.outputs)
    

    将ml_client.jobs.download中的output_name替换为输出字典对应的键名(比如部署时定义的score_output)。

  • 确保本地路径合法可写
    提前创建目标下载目录并确认权限:

    import os
    os.makedirs(f"{batch_prediction_dir}/csv/", exist_ok=True)
    
  • 绕过SDK直接从Blob下载
    如果SDK的download方法存在异常,可直接通过Blob Storage SDK获取文件:

    from azure.storage.blob import BlobServiceClient
    
    # 获取作业输出的Blob地址
    job = ml_client.jobs.get(job_name)
    output_blob_uri = job.outputs['<实际输出名称>'].uri
    
    # 解析URI并下载(替换为你的存储账户信息)
    blob_service_client = BlobServiceClient.from_connection_string("<存储账户连接字符串>")
    # 从URI中提取容器名和Blob路径,示例:https://xxx.blob.core.windows.net/container/path/file.csv
    container_name = output_blob_uri.split('/')[3]
    blob_path = '/'.join(output_blob_uri.split('/')[4:])
    
    blob_client = blob_service_client.get_blob_client(container=container_name, blob=blob_path)
    with open(f"{batch_prediction_dir}/csv/{prediction_output_file_name}.csv", "wb") as f:
        blob_data = blob_client.download_blob()
        blob_data.readinto(f)
    
  • 更新Azure ML SDK版本
    版本兼容性可能导致异常,升级到最新稳定版:

    pip install --upgrade azure-ai-ml
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 14:17:48