[英]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.