我正在使用库Microsoft.Azure.Storage.Blob
11.2.3.0 和Microsoft.Azure.Storage.Common
11.2.3.0 从 .NET Core 3.1 应用程序连接到 Azure BlobStorage。
当我开始研究这个时,我得到了连接字符串,让我可以完全访问 BlobStorage(或者更确切地说,整个云存储帐户)。基于这些,我选择“防御性地”编写我的连接代码,利用Exists()
和CreateIfNotExists()
从CloudBlobContainer
类中确保应用程序在容器尚不存在时不会失败。
现在,我正在使用 SAS 连接 BlobStorage 容器。虽然我可以像这样在容器中自由地检索和上传 blob,但不幸的是,似乎不允许我在容器级别上做任何事情。不仅CreateIfNotExists
如此,就连对存在的单纯质疑都会Exists()
抛出一句StorageException
谚语。
此请求无权执行此操作。
该文档未提及该异常。
有什么方法可以先发制人地检查我是否可以检查容器的存在吗?
我曾尝试查看从 检索到的容器权限GetPermissions
,但这也会引发异常。
我能看到的唯一另一种选择是检查容器是否存在于try
--block中catch
,如果抛出异常则假定存在......