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

Azure ML实验批量Web服务调用因输出扩展名无效失败

解决Azure WebJob调用ML批量执行时的「输出扩展名无效」错误

我帮你分析下这个问题,这通常是因为Azure机器学习批量执行服务对输出文件的扩展名有严格的格式要求,咱们可以从以下几个方向排查解决:

  • 检查输出Blob的扩展名配置
    首先看你代码里output1的RelativeLocation设置,Azure ML批量服务要求输出文件的扩展名必须和你的实验输出格式匹配。比如如果你的训练实验输出是CSV格式,那输出路径必须带.csv后缀;如果是Parquet格式,就得用.parquet。举个正确配置的例子:

    Outputs = new Dictionary<string, AzureBlobDataReference>() 
    { 
        { "output1", new AzureBlobDataReference() 
            { 
                ConnectionString = _connectionString, 
                RelativeLocation = $"{_containerName}/{experimentId}/{tenantId}/training_output.csv" // 确保扩展名与实验输出格式一致
            } 
        }
    }
    

    避免使用无扩展名的路径,或者和实验输出不匹配的后缀(比如实验输出CSV却用.txt)。

  • 匹配ML实验中输出端口的格式要求
    登录Azure机器学习门户网站,找到你的训练实验,检查输出模块(比如「转换为CSV」「导出数据」这类模块)的配置,确认它生成的文件格式对应的标准扩展名是什么。比如如果实验里输出的是TSV格式,那扩展名就得用.tsv,不能随便用其他后缀。

  • 验证Blob路径与权限的正确性
    确保WebJob使用的存储账户连接字符串拥有目标容器的写入权限,同时检查RelativeLocation里的路径拼写是否正确(比如容器名、文件夹路径有没有打错)。虽然Azure Blob会自动创建不存在的路径,但扩展名错误是独立的问题,不过路径错误也可能间接引发类似报错,所以最好一并确认。

  • 简化请求做测试
    你可以先写一个最小化的测试代码,只保留必要的输入、输出配置(确保输出扩展名正确),直接调用批量服务。如果这个简化请求能成功,再逐步添加原来的其他参数,排查是不是其他配置干扰了输出扩展名的校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:58:50