获取Azure Blob容器

问题描述 投票:0回答:1

我正在尝试获取一个如果存在的容器,如果不存在,则创建它。

我的困惑是因为GetBlobContainersAsync返回BlobContainerItemCreateBlobContainerAsync返回BlobContainerClient

找到容器后,如何从BlobContainerClient中获取BlobContainerItem

这是我到目前为止的内容:

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);
}
c# azure azure-storage azure-storage-blobs
1个回答
3
投票

您实际上不必做所有这些事情。

仅使用连接字符串和容器名称创建BlobContainerClient的实例,然后在其上调用BlobContainerClient。如果该容器不存在,则此方法将创建该容器。

从文档中:

CreateIfNotExistsAsync操作在指定的帐户下创建一个新的容器。如果已经存在相同名称的容器,则不会更改

类似:

CreateIfNotExistsAsync
© www.soinside.com 2019 - 2024. All rights reserved.