簡體   English   中英

無法從存儲帳戶中的子目錄獲取 bloblist

[英]Unable to get bloblist from a subdirectory in Storage Account

我想列出子目錄中的所有 blob,例如存儲帳戶中的images/nature 我正在使用這個 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");

請嘗試以下代碼:

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);

這應該列出“nature”文件夾內的 blob 以及其下的所有文件夾。

本質上,問題在於以下代碼行:

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

Azure Blob 存儲基本上有 2 級層次結構 - 容器和 Blob。 那里的文件夾是虛擬的,本質上是您在 blob 名稱中放置的前綴。

我在代碼中所做的是列出容器中的 blob,其名稱以前綴開頭(在您的示例中為“nature”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM