如何在Azure Blob Storage C#中从文件URL获取容器名称

pxq42qpu  于 2022-12-14  发布在  C#
关注(0)|答案(1)|浏览(186)

我们可以使用下面的代码来获取容器名称:

new CloudBlobContainer(url).Name

但此方法仅在URL为容器基本URL时有效。
如果我们试图传递一个文件的URL并试图获取容器名称,代码将不会像预期的那样返回数据。在这种情况下,我们必须使用CloudBlockBlob对象。

new CloudBlockBlob(new Uri(Url)).Container.Name

是否有任何方法可以获取适用于下列URL的容器名称:

http://127.0.0.1:10000/devstoreaccount1/10d59357-b4d1-41e8-ba2a-d92964e1ac53

http://127.0.0.1:10000/devstoreaccount1/10d59357-b4d1-41e8-ba2a-d92964e1ac53/temp/1.txt
eqqqjvef

eqqqjvef1#

较旧的SDK(9.3.3)

如果您使用的是旧版SDK(9.3.3),您可以使用BlobClient,blob容器的名称将在BlobContainerName属性中提供。

BlobClient client = new BlobClient(new Uri(url));

较新的SDK(12.2.0)

对于较新的SDK(12.2.0),您可以使用BlobUriBuilder,blob容器的名称将在BlobContainerName属性中提供。

BlobUriBuilder blobUriBuilder = new BlobUriBuilder(new Uri(url));

相关问题