无法从存储帐户的子目录中获取Bloblist

我想列出存储帐户中子目录(例如images/nature)中的所有blob。我正在使用此C#代码实现我的目标:

string storageConnectionString = Environment.GetEnvironmentVariable("BlobConnection",EnvironmentVariabletarget.Process);
CloudStorageaccount storageaccount = CloudStorageaccount.Parse(storageConnectionString);
CloudBlobClient blobClient = storageaccount.CreatecloudBlobClient();
CloudBlobContainer container = blobClient.getcontainerReference(@"images/nature");

此代码对我不起作用。您有什么想法,我该怎么做?

如果所有Blob都位于根文件夹中,则以下代码可以正常工作:

 string storageConnectionString = Environment.GetEnvironmentVariable("BlobConnection",EnvironmentVariabletarget.Process);
 CloudStorageaccount storageaccount = CloudStorageaccount.Parse(storageConnectionString);
 CloudBlobClient blobClient = storageaccount.CreatecloudBlobClient();
 CloudBlobContainer container = blobClient.getcontainerReference(@"images");
djjyqwj 回答:无法从存储帐户的子目录中获取Bloblist

请尝试以下代码:

string storageConnectionString = Environment.GetEnvironmentVariable("BlobConnection",EnvironmentVariableTarget.Process);
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(storageConnectionString);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(@"images");
var blobs = container.ListBlobs("nature",true);

这应该列出“自然”文件夹及其下所有文件夹中的blob。

基本上,问题在于以下代码行:

CloudBlobContainer container = blobClient.GetContainerReference(@"images/nature");

Azure Blob存储基本上具有2级层次结构-容器和Blob。文件夹是虚拟的,实际上是您在Blob名称中添加的前缀。

我在代码中所做的就是列出容器的blob,该容器的名称以前缀(示例中为“ nature”)开头。

本文链接:https://www.f2er.com/2698391.html

大家都在问