BlockBlobService的list_blobs方法中delimiter参数作用及与prefix的区别
旧版Azure Storage Blob
list_blobs 方法delimiter参数说明 核心差异:delimiter与prefix的区别
prefix:blob名称前缀筛选参数,调用后仅返回名称与传入前缀完全匹配的所有blob,不会对blob路径做层级拆分处理。delimiter:路径分隔符参数,用于模拟本地文件系统的目录层级结构,最常用取值为/,调用后会将路径中分隔符之前的相同部分聚合为虚拟目录,仅返回当前层级的虚拟目录和根文件,不会返回下一级路径中的具体blob。
示例演示
假设目标容器内存在如下blob:
docs/2023/report1.pdf docs/2023/report2.pdf docs/2024/report.pdf img/cover.png readme.txt
- 仅传
prefix="docs/"时,返回结果为所有以docs/开头的3个pdf文件blob - 仅传
delimiter="/"时,返回结果为2个虚拟目录docs/、img/,以及1个根层级文件readme.txt,不会返回子目录下的具体文件 - 同时传
prefix="docs/", delimiter="/"时,返回结果为2个二级虚拟目录docs/2023/、docs/2024/,不会返回三级路径下的pdf文件
常见使用场景
如果需要全量拉取容器内所有blob,无需按目录分层浏览,不需要传入delimiter参数;如果要实现类似文件资源管理器的逐层目录浏览效果,需要搭配delimiter使用,降低单次查询返回的结果量级,实现分层遍历。
内容的提问来源于stack exchange,提问作者Teja
相关产品推荐
相关产品推荐

