Azure ML通过ACI部署模型报AciDeploymentFailed/ACI服务请求错误咨询
问题根源
你手动删除了Azure ML工作区自动创建的容器注册表(ACR)后,工作区全局配置中依然保留了旧ACR的绑定关系,后续所有部署操作都会默认优先读取这个绑定的旧地址,不会自动触发新ACR创建。
可行解决方案(按顺序操作即可)
1. 清除工作区旧ACR绑定
- 登录Azure门户,进入你的Azure Machine Learning工作资源页面
- 在左侧菜单栏「设置」分类下找到「容器注册表」选项
- 页面会显示当前绑定的旧ACR地址(即报错信息里的
6e07ce2cc4ac4838b42d35cda8d38616.azurecr.io),点击解除绑定 - 可选择两种后续配置:
- 直接留空该配置项,保存后等待5分钟生效,下次部署时Azure ML会自动创建新的ACR
- 提前手动创建一个新的ACR资源,在该页面选择关联你新建的ACR后保存
2. 修改代码强制生成全新环境配置
在你原有的环境定义代码后新增一行,避免复用绑定了旧ACR的缓存环境版本:
from azureml.core.environment import Environment myenv = Environment.from_pip_requirements(name = 'myenv', file_path = 'requirements.txt') # 新增下面这行 myenv.version = None
3. 修复入口脚本隐含bug(可选,避免后续报错)
你提供的score.py中使用了json.loads但没有导入json库,在开头新增导入语句即可:
import os import json import dill import joblib
之前尝试无效的原因
- 手动创建同名ACR无效:Azure ML自动生成的ACR有专属的权限配置和镜像存储结构,手动创建的同名ACR没有匹配的访问凭证和镜像文件,即使开了管理员权限也无法被Azure ML识别
- 修改环境/模型名称无效:旧ACR是工作区级别的全局绑定配置,和单个环境、模型的名称无关
- 开启ACR管理员无效:手动创建的ACR中不存在部署需要的镜像文件,权限配置正确也无法找到对应镜像
内容的提问来源于stack exchange,提问作者FLS
相关产品推荐
相关产品推荐

