You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipeline中如何列出Dataset对象的文件?两种尝试方法均报错

解决Azure Pipeline构建中列出Dataset文件的报错问题

你的两个方法分别存在以下问题,对应的解决办法如下:

方法1错误原因及修正

dataset.as_mount()返回的是DatasetConsumptionConfig配置对象,并非实际的文件路径,直接转成字符串传给os.listdir()肯定找不到目录。这种方式本就不适用于直接获取文件列表。

方法2错误原因及修正

挂载(mount)依赖libfuse库,仅支持Linux/Unix类系统。如果你的Azure Pipeline构建代理用的是Windows系统,就会触发这个报错。

可行方案1:下载数据集到本地(跨系统兼容)

不需要挂载,直接把数据集下载到构建代理的本地目录,再列出文件,Windows和Linux代理都能用:

from azureml.core import Workspace, Dataset
import os

ws = Workspace.from_config()
dataset = Dataset.get_by_name(ws, "<dataset-name>")

# 指定下载目录,用当前工作目录下的子文件夹
download_dir = os.path.join(os.getcwd(), "temp_dataset")
# 下载数据集,覆盖已存在的文件
dataset.download(target_path=download_dir, overwrite=True)

# 列出下载后的文件
print("Dataset files:")
print(os.listdir(download_dir))

可行方案2:改用Linux代理并安装libfuse

如果数据集过大不想下载,可将Pipeline的构建代理切换为Linux,并在执行Python脚本前安装libfuse。在Pipeline的YAML中添加以下步骤:

steps:
- script: |
    sudo apt-get update
    sudo apt-get install -y libfuse2
  displayName: '安装libfuse依赖'
- task: PythonScript@0
  inputs:
    scriptSource: 'filePath'
    scriptPath: '你的脚本路径.py'

之后再运行你方法2的代码即可正常挂载并列出文件。

内容的提问来源于stack exchange,提问作者arush1836

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 15:40:50