Azure ML中‘Datastore (workspaceblobstore)未找到’错误排查
解决Azure ML作业提交错误:'Datastore (workspaceblobstore) can not be found'
错误成因
- 工作区创建异常:Azure ML工作区创建过程中断,或底层Blob存储资源被意外删除,导致默认的
workspaceblobstore未生成 - 手动误操作:之前手动删除了工作区默认的
workspaceblobstore数据存储 - 存储资源关联失效:对应的Azure存储账户被删除、权限变更或网络配置异常,导致ML工作区无法识别默认数据存储
- 教程脚本依赖默认存储:官方教程的作业逻辑硬依赖
workspaceblobstore作为默认数据存储,未配置备选存储方案
完整解决方法
1. 检查当前数据存储状态
先确认工作区内的现有数据存储,排查是否存在workspaceblobstore:
from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential # 初始化ML客户端 ml_client = MLClient( DefaultAzureCredential(), subscription_id="<你的订阅ID>", resource_group_name="<资源组名称>", workspace_name="<ML工作区名称>" ) # 列出所有数据存储 for ds in ml_client.datastores.list(): print(f"数据存储: {ds.name} | 是否默认: {ds.is_default}")
2. 创建并设置默认workspaceblobstore
如果确认不存在该数据存储,执行以下步骤创建并设为默认:
关联现有Azure Blob存储账户
from azure.ai.ml.entities import AzureBlobDatastore # 配置Blob存储信息 workspace_blob_ds = AzureBlobDatastore( name="workspaceblobstore", description="Azure ML工作区默认Blob存储", account_name="<你的存储账户名称>", container_name="<Blob容器名称>", protocol="https" ) # 创建或更新数据存储 ml_client.datastores.create_or_update(workspace_blob_ds) # 设置为默认数据存储 ml_client.datastores.set_default("workspaceblobstore")
如果没有现成的Azure存储账户,可先在Azure门户创建存储账户和Blob容器,再执行上述代码关联
3. 验证修复结果
确认默认数据存储已设置成功:
default_datastore = ml_client.datastores.get_default() print(f"当前默认数据存储: {default_datastore.name}")
预防措施
- 禁止随意删除Azure ML工作区的默认数据存储
- 创建ML工作区时确保流程完整,避免中途中断
- 自定义作业脚本时,显式指定数据存储,避免依赖默认存储的隐式逻辑
内容的提问来源于stack exchange,提问作者minus one
相关产品推荐
相关产品推荐

