首页 > 解决方案 > 如何从 Azure Blob 存储 C# 中的文件 URL 获取容器名称

问题描述

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

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

标签: c#azureazure-blob-storage

解决方案


旧版 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));

在此处输入图像描述


在此处输入图像描述


推荐阅读