簡體   English   中英

獲取 Azure blob 容器

[英]Get Azure blob container

我正在嘗試獲取一個容器(如果存在),如果不存在,則創建它。

我的困惑是因為GetBlobContainersAsync返回一個BlobContainerItemCreateBlobContainerAsync返回一個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.

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