如何解决如何使用Azure存储Blob从Blob获取容器名称列表?
我使用WindowsAzure.Storage.Blob找到了一些答案,但是此软件包已弃用。
所以我需要使用.net core从Azure获取Blob存储中的容器列表。
解决方法
添加“ Azure.Storage.Blobs” NuGet程序包。
使用BlobServiceClient类
string connectionString = "";
BlobServiceClient client = new BlobServiceClient(connectionString);
使用GetBlobContainers或GetBlobContainersAsync检索容器:
//-------------------------------------------------
// List containers
//-------------------------------------------------
async static Task ListContainers(BlobServiceClient blobServiceClient,string prefix,int? segmentSize)
{
string continuationToken = string.Empty;
try
{
do
{
// Call the listing operation and enumerate the result segment.
// When the continuation token is empty,the last segment has been returned
// and execution can exit the loop.
var resultSegment =
blobServiceClient.GetBlobContainersAsync(BlobContainerTraits.Metadata,prefix,default)
.AsPages(continuationToken,segmentSize);
await foreach (Azure.Page<BlobContainerItem> containerPage in resultSegment)
{
foreach (BlobContainerItem containerItem in containerPage.Values)
{
Console.WriteLine("Container name: {0}",containerItem.Name);
}
// Get the continuation token and loop until it is empty.
continuationToken = containerPage.ContinuationToken;
Console.WriteLine();
}
} while (continuationToken != string.Empty);
}
catch (RequestFailedException e)
{
Console.WriteLine(e.Message);
Console.ReadLine();
throw;
}
}
如果要搜索以某些前缀开头的容器,则前缀参数是可选的。
代码来自documentation:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。