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

如何用az命令行工具获取Azure Blob存储文件列表?新命令失效求助

解决Azure CLI获取Blob存储文件列表的问题

问题根源

az storage fs directory系列命令仅支持启用分层命名空间(Hierarchical Namespace)的ADLS Gen2存储账户。如果你的存储账户未开启该功能,执行这些命令会返回目录不存在或空列表,这是核心原因。

分场景解决方案

场景1:存储账户已启用分层命名空间(ADLS Gen2)

  1. 检查目录路径格式:--path参数不要带开头的斜杠,比如目标目录是reports/2024,直接写--path reports/2024,而非/reports/2024
  2. 正确的列表命令:
    az storage fs directory list -f <ContainerName> --path <DirectoryName> --recursive --account-name <StorageAccountName>
    
    若使用SAS令牌认证,追加--sas-token <你的SAS令牌>参数;若用Azure AD认证,确保已登录对应账号。

场景2:存储账户未启用分层命名空间(普通Blob存储)

普通Blob存储不存在真实目录,仅通过Blob名称前缀模拟“虚拟目录”,需改用az storage blob list命令替代:

az storage blob list -c <ContainerName> --prefix <DirectoryName>/ --delimiter "/" --output json
  • --prefix <DirectoryName>/:过滤出以指定虚拟目录为前缀的Blob
  • --delimiter "/":区分虚拟子目录和Blob,结果中prefixes字段对应虚拟子目录列表
  • --output json:输出JSON格式,与原弃用命令的输出格式一致

验证存储账户类型

执行以下命令确认是否启用分层命名空间:

az storage account show -n <StorageAccountName> -g <ResourceGroupName> --query isHnsEnabled

返回true表示是ADLS Gen2存储账户,false则为普通Blob存储账户。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 18:44:56