簡體   English   中英

獲取存儲帳戶中的容器列表

[英]get a list of containers in the storage account

使用代碼:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
                CloudConfigurationManager.GetSetting("<storageaccountname>_AzureStorageConnectionString"));
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("test-blob-container");

我可以訪問 Blob 容器“test-blob-container”。 但是有沒有辦法獲取存儲帳戶中的容器列表?

問候斯蒂芬

.NET Core 庫不支持ListContainers()方法,這是設計使然,因為它不是異步方法,但您仍然可以利用ListContainersSegmentedAsync()列出 .NET Core 庫中的 blob 容器:

var blobClient = storageAccount.CreateCloudBlobClient();
var blobContainers = new List<CloudBlobContainer>();
BlobContinuationToken blobContinuationToken = null;
do
{
    var containerSegment = await blobClient.ListContainersSegmentedAsync(blobContinuationToken);
    blobContainers.AddRange(containerSegment.Results);
    blobContinuationToken = containerSegment.ContinuationToken;
} while (blobContinuationToken != null);

就像 REST API 一樣,如果容器列表無法在僅一個 API 調用中完成,則分段結果將與繼續令牌一起返回。 這就是為什么ListContainersSegmentedAsync()是 .NET Core 中唯一剩余的方法 - 它是真正的異步方法,相當於一個 REST API 調用。

暫無
暫無

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

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