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

为何list_blobs返回虚拟目录?如何排除虚拟目录结果?

Azure Blob Storage list_blobs 返回虚拟目录问题解答

认知偏差还是行为变更?

Azure Blob Storage的虚拟目录是通过Blob名称中的/分隔符模拟的,并非真实存在的目录资源。list_blobs方法默认会返回虚拟目录的占位符条目(如你看到的dir0/dir1),这是该接口的标准默认行为——可能你之前使用时通过隐式参数过滤,或是旧版SDK默认不返回这类条目,但当前的标准行为确实包含虚拟目录占位符。

过滤虚拟目录的方法

方法1:通过Blob属性过滤

遍历结果时,检查Blob对象的is_directory属性(部分SDK版本可能用blob_type判断是否为DIRECTORY类型),仅保留非目录的Blob文件:

blobs = blob_service_client.list_blobs('container', 'dir0/')
for blob in blobs:
    if not blob.is_directory:
        print(blob.name)

方法2:调用时指定过滤参数

部分SDK版本支持在调用list_blobs时通过include参数明确指定只返回Blob文件,排除虚拟目录:

blobs = blob_service_client.list_blobs('container', 'dir0/', include=['blobs'])
for blob in blobs:
    print(blob.name)

注意:不同语言SDK或同一SDK的不同版本,参数和属性名称可能略有差异,建议对照当前使用的SDK文档确认细节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:35:28