Azure ML SDKv2管道挂载报错:路径不支持Glob模式
问题背景
使用Azure ML Python SDKv2运行管道时,输入为默认Blob存储的URI_FOLDER类型数据资产azureml:raw_data_v2:1,出现卷挂载错误,核心提示:
路径中的Glob模式不被卷挂载支持,路径必须是文件/文件夹的直接路径,或以'/*'结尾匹配整个卷
错误发生在自定义代码运行前,说明问题出在数据资产的挂载阶段,而非代码内部的文件处理逻辑。
排查与解决步骤
检查数据资产的注册路径
登录Azure ML工作室,找到raw_data_v2数据资产,查看其目标存储路径。确认路径是Blob存储中的具体文件夹,不包含任何Glob通配符(如*、?)。如果注册时路径误写了通配符,重新注册数据资产,填写正确的文件夹路径。验证输入参数的定义
确保管道中Input的定义没有隐含Glob模式:raw_data_ds = Input(type=AssetTypes.URI_FOLDER, path="azureml:raw_data_v2:1")此处路径直接指向数据资产即可,不需要添加
/*或其他通配符。代码内部的glob逻辑(如glob.iglob(train_dir + '**/thumb*.jpg', recursive=True))是运行时处理,不属于挂载阶段,无需修改。确认存储容器的实际结构
登录Azure存储账户,定位到raw_data_v2对应的Blob容器路径,验证该路径是实际存在的文件夹,且子目录(如evaluation、raw/images/final_slides)结构完整。如果文件夹不存在,先在存储中创建对应结构,再重新注册数据资产。检查计算集群的挂载支持
确认使用的cpu-cluster计算集群是Azure ML托管计算集群(默认支持卷挂载)。如果是自定义计算目标,需验证其配置是否允许挂载Blob存储路径。重新提交管道测试
修正上述问题后,重新运行管道,验证挂载错误是否消失。
内容的提问来源于stack exchange,提问作者gary69

