首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只列出容器中的blobs/文件,而不列出目录、子目录、子文件。

只列出容器中的blobs/文件,而不列出目录、子目录、子文件。
EN

Stack Overflow用户
提问于 2022-01-12 10:46:14
回答 2查看 863关注 0票数 1

假设我的蔚蓝存储帐户中有以下文件结构。

代码语言:javascript
复制
container-1
    directory-1
        file-1-1.csv
        file-1-2.json
        file-1-3.jpeg
    directory-2
        file-2-1.csv
    file-1.csv
    file-2.csv
container-2
    directory-1
        directory-1-1
            file1-1-1.csv

我只想列出容器-1中的文件(file-1.csv,file-2. not ),而没有任何其他结果--有什么方法可以提出这样的请求。

目前,我使用的URL是:

代码语言:javascript
复制
https://${account}.blob.core.windows.net/container-1?comp=list&restype=container&prefix=/

返回:

代码语言:javascript
复制
directory-1
directory-1/file-1-1.csv
directory-1/file-1-2.json
directory-1/file-1-3.jpeg
directory-2
directory-2/file-2-1.csv
file-1.csv
file-2.csv

我只需要:

代码语言:javascript
复制
file-1.csv
file-2.csv
EN

回答 2

Stack Overflow用户

发布于 2022-01-12 13:01:28

使用不可能只列出Blob。那里有非常有限的服务器端过滤支持,而仅仅列出blobs并不是其中之一。

一种“黑客”的方法是通过前缀过滤气泡。假设容器级别的所有文件都以一些预定义的字符(例如file)开始,并且在该级别上没有虚拟目录从这些字符开始,那么您可以指定file作为前缀,然后REST将只返回以这些字符开头的blobs名称。

票数 0
EN

Stack Overflow用户

发布于 2022-01-12 13:23:54

您可以向Azure发出一个List Blobs请求。在该请求中,可以在querystring中指定分隔符。使用分隔符/

这将导致结果列出在请求根目录中使用XML <Blob>元素的所有blobs。所有不在搜索根目录中的blobs都将出现在带有文件夹名的<BlobPrefix>元素下。丢弃所有<BlobPrefix>元素,只剩下(另一个)“文件夹”中不包含的blobs。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70680178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档