我已对此进行了审查: Getting list of names of Azure blob files in a container?
但是我还没有找到任何有关如何使用c#列出容器中特定虚拟文件夹中文件的代码示例。据我所知。我看不到在ListBlobs()方法中指定文件路径的任何方法。
var blobStorageAccount = GetStorageAccount();
var blobClient = blobStorageAccount.CreateCloudBlobClient();
var blobContainer = blobClient.GetContainerReference(containerName);
List<string> blobNames = blobContainer.ListBlobs().OfType<CloudBlockBlob>().Select(b => b.Name).ToList();
答案 0 :(得分:2)
没有子文件夹之类的东西。您有包含斑点的容器。您确实拥有虚拟文件夹,例如
/container/virtualfolder/myblob
容器名称为container
,blob名称为virtualfolder/myblob
您可以使用prefix
参数列出虚拟文件夹中的所有blob(请参见the docs):
var blobStorageAccount = GetStorageAccount();
var blobClient = blobStorageAccount.CreateCloudBlobClient();
var blobContainer = blobClient.GetContainerReference(containerName);
List<string> blobNames = blobContainer.ListBlobs(prefix: "virtualfolder").OfType<CloudBlockBlob>().Select(b => b.Name).ToList();
答案 1 :(得分:0)
Microsoft.Azure.Storage.Blob
已过时。使用Azure.Storage.Blob
看起来像是:
List<string> blobNames = blobContainer.GetBlobs(prefix: "virtualfolder").Select(b => b.Name).ToList();