rhu*_*hes 0 c# azure azure-storage azure-storage-blobs
我正在尝试获取一个容器(如果它存在的话)来创建它。
我的困惑是因为GetBlobContainersAsync返回 aBlobContainerItem并CreateBlobContainerAsync返回 a 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);
}
Run Code Online (Sandbox Code Playgroud)
你真的不必做所有这些。
只需创建一个BlobContainerClient使用连接字符串和容器名称的实例,然后调用CreateIfNotExistsAsync它。如果容器不存在,此方法将创建容器。
从文档:
该
CreateIfNotExistsAsync(PublicAccessType, IDictionary<String,String>, BlobContainerEncryptionScopeOptions, CancellationToken)操作在指定帐户下创建一个新容器。
如果同名容器已经存在,则不会更改。
就像是:
var blobContainerClient = new BlobContainerClient(this.ConnectionString, Uploader.ContainerName);
await blobContainerClient.CreateIfNotExistsAsync();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |