如何解决创建新容器时,Azure Blob 存储引发异常声称它已经存在,但它不存在
我正在尝试使用下面的示例代码在 Azure 存储中创建一个 blob 容器。
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
var fileName = "quickstart" + Guid.NewGuid().ToString() + ".png";
//Create a unique name for the container
string containerName = "quickstartblobs" + Guid.NewGuid().ToString();
BlobContainerClient containerClient = blobServiceClient.CreateBlobContainer(containerName); //Exception occurs here.
BlobClient blobClient = containerClient.GetBlobClient(fileName);
var result = blobClient.Upload(ms);
尽管创建了一个明显不存在的新容器名称,但对 CreateBlobContainer() 的调用总是会在 Azure 中创建容器,然后抛出一个异常,说明它已经存在。
'指定的容器已经存在。
在运行此代码之前,我在 Azure 环境中验证不存在容器。在寻找此问题的解决方案时,我看到了对 CreateIfNotExists() 方法的引用,但是我在 BlobServiceClient 上没有看到该方法可用。
有人可以解释为什么这不能按预期工作以及如何处理吗?
解决方法
您可以使用以下代码来解决您的问题:
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
var fileName = "quickstart" + Guid.NewGuid().ToString() + ".png";
//Create a unique name for the container
string containerName = "quickstartblobs" + Guid.NewGuid().ToString();
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(containerName);
containerClient.CreateIfNotExists();
BlobClient blobClient = containerClient.GetBlobClient(fileName);
var result = blobClient.Upload(ms);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。