如何从Azure Blob存储C#中的文件URL获取容器名称

时间:2020-02-25 09:31:25

标签: c# azure azure-storage-blobs azure-blob-storage

我们可以使用以下代码获取容器名称

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

1 个答案:

答案 0 :(得分:4)

旧版SDK(9.3.3)

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

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

enter image description here


enter image description here

较新的SDK(12.2.0)

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

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

enter image description here


enter image description here