[英]Get Azure blob container
我正在嘗試獲取一個容器(如果存在),如果不存在,則創建它。
我的困惑是因為GetBlobContainersAsync
返回一個BlobContainerItem
而CreateBlobContainerAsync
返回一個BlobContainerClient
。
找到容器后,如何從BlobContainerItem
BlobContainerClient
這是我到目前為止所擁有的:
var blobServiceClient = new BlobServiceClient(this.ConnectionString);
BlobContainerItem archiveContainer = null;
await foreach (var container in blobServiceClient.GetBlobContainersAsync(prefix: Uploader.ContainerName))
{
if (String.Compare(container.Name, Uploader.ContainerName,
CultureInfo.CurrentCulture, CompareOptions.Ordinal) == 0)
{
archiveContainer = ???
break;
}
}
if (archiveContainer == null)
{
archiveContainer = await blobServiceClient.CreateBlobContainerAsync(Uploader.ContainerName);
}
你真的不必做所有這些。
只需使用連接字符串和容器名稱創建BlobContainerClient
實例,然后對其調用CreateIfNotExistsAsync
。 如果容器不存在,此方法將創建容器。
從文檔中:
CreateIfNotExistsAsync(PublicAccessType, IDictionary<String,String>, BlobContainerEncryptionScopeOptions, CancellationToken)
操作在指定帳戶下創建一個新容器。
如果同名容器已經存在,則不改變。
就像是:
var blobContainerClient = new BlobContainerClient(this.ConnectionString, Uploader.ContainerName);
await blobContainerClient.CreateIfNotExistsAsync();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.