Azure ML模型端点调用失败:StreamAccess.NotFound错误排查求助
Azure ML端点调用StreamAccess.NotFound错误排查方案
验证请求中的input_data路径格式
- 检查CLI传入的JSON里
input_data的URI是否符合Azure Blob标准格式:比如https://<storage-account>.blob.core.windows.net/<container>/<path>,或使用azureml://格式时是否正确关联了对应数据集 - 确认路径是否存在拼写错误(容器名、文件/文件夹名大小写、特殊字符),Blob存储路径大小写敏感,这点极易忽略
- 检查CLI传入的JSON里
检查模型推理脚本的输入处理逻辑
- 对比训练脚本与推理脚本对输入路径的处理逻辑:训练阶段正常说明训练脚本能正确解析
--input_folder,但推理脚本可能存在路径拼接错误、误写固定文件名、或未正确映射传入的input_data参数 - 确认推理脚本是否正确接收并使用了端点调用时传入的参数,有没有遗漏参数传递步骤
- 对比训练脚本与推理脚本对输入路径的处理逻辑:训练阶段正常说明训练脚本能正确解析
验证UAMI权限的有效性
- 即使已配置Storage Blob Data Contributor角色,需确认该角色是直接作用于目标存储账户/容器,而非仅父资源组(权限继承可能存在延迟或未生效)
- 检查端点部署时是否正确关联了UAMI:部署命令中是否指定
--identity-type UserAssigned并传入正确的UAMI资源ID
确认Blob存储资源的实际状态
- 登录Azure Portal直接查看目标Blob路径下的文件是否存在,是否在训练后被删除、移动,或容器访问层级被修改为私有(权限正确但路径错误仍会触发NotFound)
- 使用UAMI身份手动验证路径可访问性:执行CLI命令
az storage blob list --account-name <storage-account> --container-name <container> --prefix <target-path> --auth-mode login,查看是否能正常获取文件列表
排查端点部署环境与日志
- 确认推理环境与训练环境的依赖库版本一致,部分库对Blob URI的解析规则差异可能导致路径识别失败
- 查看端点详细日志:通过Azure ML Studio或CLI命令
az ml online-endpoint logs show --name <endpoint-name> --deployment <deployment-name>获取完整错误堆栈,定位具体缺失的流/文件
内容的提问来源于stack exchange,提问作者MLOpsguy
相关产品推荐
相关产品推荐

