如何使用Azure ML Studio Python SDK v2获取数据存储文件夹列表
在Azure ML Studio中以编程方式获取已注册数据存储的文件夹列表
你可以通过Azure ML的Python SDK(推荐使用最新的azure-ai-ml包)实现这个需求,以下是具体步骤和代码示例:
1. 安装依赖(若未安装)
pip install azure-ai-ml azure-identity
2. 连接到Azure ML工作区
使用MLClient连接工作区,推荐用DefaultAzureCredential完成身份验证,无需手动输入密钥:
from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential # 初始化MLClient ml_client = MLClient( credential=DefaultAzureCredential(), subscription_id="你的订阅ID", resource_group_name="资源组名称", workspace_name="Azure ML工作区名称" )
3. 获取目标数据存储并列出文件夹
通过数据存储名称获取实例后,用get_paths()方法筛选出所有文件夹,再提取你需要的文件夹名称:
# 获取已注册的数据存储 data_store = ml_client.datastores.get(name="你的数据存储名称") # 获取所有文件夹的路径(仅返回目录) folder_paths = data_store.get_paths(file_type="directory") # 提取最后一级文件夹名称(可根据需求调整路径拆分逻辑) folder_names = [path.split("/")[-2] for path in folder_paths if path.endswith("/")] # 迭代遍历文件夹名称列表 for folder_name in folder_names: print(folder_name)
可选:获取指定目录下的子文件夹
如果只需获取某个根目录下的子文件夹,可添加prefix参数:
# 获取"raw_data/"目录下的所有子文件夹 folder_paths = data_store.get_paths(prefix="raw_data/", file_type="directory")
旧版SDK(azureml-core)兼容写法
若你仍在使用旧版azureml-core包,可参考以下代码:
from azureml.core import Workspace, Datastore # 加载工作区配置(需提前下载config.json文件) ws = Workspace.from_config() # 获取数据存储 datastore = Datastore.get(ws, datastore_name="你的数据存储名称") # 列出指定路径下的文件夹 folders = datastore.list_dir(path="", file_type="dir") # 提取文件夹名称 folder_names = [item[0] for item in folders] # 迭代输出 for name in folder_names: print(name)
内容的提问来源于stack exchange,提问作者khemanth958
相关产品推荐
相关产品推荐

