【发布时间】:2021-07-26 18:50:25
【问题描述】:
我有一个名为 foo 的容器和其中的几个目录,其层次结构如下:
foo\dir1
foo\dir2
...
我怎样才能只检索dir1 & dir2 目录?目前我正在使用Azure.Storage.Blobs (12.9.1) 库。
我尝试过的:
var blobContainerClient = blobServiceClient.GetBlobContainerClient("foo");
var resultSegment = blobContainerClient.GetBlobs().AsPages();
IList<string> blobs = new List<string>();
foreach(Azure.Page<BlobItem> blobPage in resultSegment)
{
foreach(BlobItem blobItem in blobPage.Values)
{
blobs.Add(blobItem.Name);
}
}
return blobs;
}
这会递归地返回我在foo 容器中拥有的所有文件。我需要提一下,这是一个分层命名空间存储,我已经尝试过this 解决方案,但它不起作用,因为我认为每个目录都被认为是一个 blob
【问题讨论】:
-
您应该可以使用前缀。类似的东西应该可以工作
blobContainerClient.GetBlobs(prefix: "dir1") -
是的,但我最初不知道
dir1。我只知道容器的名字。