无法创建Azure机器学习在线端点,求助解决订阅未注册问题
解决Azure ML在线端点创建时的SubscriptionNotRegistered错误
问题场景
使用Azure CLI创建在线推理端点时,收到以下错误:
(SubscriptionNotRegistered) Resource provider [N/A] isn't registered with Subscription [N/A]. Please see troubleshooting guide, available here: https://aka.ms/register-resource-provider
Code: SubscriptionNotRegistered
Message: Resource provider [N/A] isn't registered with Subscription [N/A]. Please see troubleshooting guide,
已完成的前置操作:
- 注册了
Microsoft.MachineLearningServices资源提供商 - 使用的YAML配置(endpoint.yml):
$schema: https://azuremlschemas.azureedge.net/latest/onlineEndpoint.schema.json name: bird-pytorch-endpoint-v1 auth_mode: key
- 执行的CLI命令:
az ml online-endpoint create --file endpoint.yml --resource-group myresourcepsrg --workspace-name azuremlws
- 当前用户拥有目标订阅的Owner权限:
Principal Role Scope -------------------------------------------------------------------- ------ --------------------------------------------------- azure_hari3_gmail.com#EXT#@azure_hari3gmail102.onmicrosoft.com Owner /subscriptions/75272772727-828
解决方法
1. 注册遗漏的关联资源提供商
创建在线端点除Microsoft.MachineLearningServices外,还需注册以下依赖的资源提供商:
Microsoft.Insights:用于端点监控与日志采集Microsoft.ContainerRegistry:镜像存储与管理(部分场景默认依赖)Microsoft.Network:网络配置(如VNet集成、端点流量管理)
执行以下CLI命令完成注册:
# 注册Microsoft.Insights az provider register --namespace Microsoft.Insights # 注册Microsoft.ContainerRegistry az provider register --namespace Microsoft.ContainerRegistry # 注册Microsoft.Network az provider register --namespace Microsoft.Network
注册后等待5-10分钟,用以下命令确认状态为Registered:
az provider show --namespace Microsoft.Insights --query registrationState az provider show --namespace Microsoft.ContainerRegistry --query registrationState az provider show --namespace Microsoft.Network --query registrationState
2. 确认并锁定目标订阅
错误中显示Subscription [N/A],大概率是CLI上下文订阅与目标订阅不匹配:
- 查看当前CLI上下文的订阅ID:
az account show --query id
- 若与目标订阅
75272772727-828不符,切换订阅:
az account set --subscription 75272772727-828
- 或在创建命令中显式指定订阅ID:
az ml online-endpoint create --file endpoint.yml --resource-group myresourcepsrg --workspace-name azuremlws --subscription 75272772727-828
3. 强制刷新资源提供商缓存
部分场景下注册状态更新存在延迟,可执行以下命令强制等待注册完成:
az provider register --namespace Microsoft.MachineLearningServices --wait
4. 门户端验证资源提供商状态
登录Azure门户,导航到目标订阅:
- 进入订阅页面,选择左侧菜单的资源提供商
- 搜索所有Azure ML相关提供商,确认状态均为
Registered - 若存在未注册项,点击注册按钮完成操作
内容的提问来源于stack exchange,提问作者Hari Adhi
相关产品推荐
相关产品推荐

