Azure ML目标检测训练时MLTable访问权限错误排查求助
MLTable权限拒绝错误排查方向及解决方法
排查方向
- 检查MLTable定义文件的路径配置
确认MLTable文件里指定的annotations.jsonl路径是否和Datastore挂载路径匹配,比如是否误用绝对路径、路径层级是否写错。 - 验证计算集群的身份权限
确认计算集群的托管身份(或服务主体)是否拥有image_frames对应存储容器的访问权限,比如是否缺少存储Blob数据读者或更高权限。 - 检查数据输入的挂载配置
确认my_training_data_input的类型是否为mltable而非uri_folder,挂载模式是否设置为只读(训练场景无需读写权限)。 - 验证MLTable文件的格式合法性
检查MLTable的语法是否正确,比如JSON/YAML格式是否有误,是否正确关联image_framesDatastore。
解决方法
- 修正MLTable路径配置
确保MLTable文件使用相对路径指向annotations.jsonl,同时明确关联Datastore,示例配置:$schema: https://azuremlschemas.azureedge.net/latest/MLTable.schema.json type: mltable paths: - path: ./annotations.jsonl datastore: image_frames - 给计算集群身份添加存储权限
进入Azure门户的目标存储容器,在访问控制(IAM)中添加计算集群的托管身份,分配存储Blob数据读者角色。 - 调整数据输入定义
使用Python SDK定义输入时,明确指定类型为MLTable,示例代码:from azure.ai.ml import Input my_training_data_input = Input( type="mltable", path="azureml://datastores/image_frames/paths/image-frames/dados_treinamento" ) - 重新注册MLTable资产
若已手动创建MLTable资产,删除后重新注册,确保路径指向正确的Datastore目录,Azure CLI命令示例:az ml data create --name my_mltable --path ./target-mltable-folder --type mltable
内容的提问来源于stack exchange,提问作者Atilio
相关产品推荐
相关产品推荐

