Как получить имя контейнера из URL файла в Azure Хранилище BLOB-объектов C# - PullRequest
1 голос
/ 25 февраля 2020

Мы можем получить имя контейнера, используя следующий код

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 * 1015

1 Ответ

3 голосов
/ 25 февраля 2020

Старый SDK (9.3.3)

Если вы используете более старый SDK (9.3.3), вы можете использовать BlobClient, и имя контейнера больших двоичных объектов будет доступно в 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, и имя контейнера больших двоичных объектов будет доступно в свойстве BlobContainerName.

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

enter image description here


enter image description here

...