События
31 мар., 23 - 2 апр., 23
Самое большое событие обучения Fabric, Power BI и SQL. 31 марта – 2 апреля. Используйте код FABINSIDER, чтобы сэкономить $400.
Зарегистрироваться сегодняЭтот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Большие двоичные объекты в службе хранилища Azure упорядочиваются в контейнеры. Прежде чем вы сможете отправить большой двоичный объект, сперва необходимо создать контейнер. В этой статье приводятся сведения о создании и удалении контейнеров с помощью клиентской библиотеки службы хранилища Azure для .NET.
Если у вас нет существующего проекта, в этом разделе показано, как настроить проект для работы с клиентской библиотекой Хранилище BLOB-объектов Azure для .NET. Ниже приведены шаги по установке пакета, добавлению using
директив и созданию авторизованного клиентского объекта. Дополнительные сведения см. в статье "Начало работы с Хранилище BLOB-объектов Azure и .NET".
В каталоге проекта установите пакеты для клиентских библиотек Хранилище BLOB-объектов Azure и удостоверений Azure с помощью dotnet add package
команды. Пакет Azure.Identity необходим для бессерверных подключений к службам Azure.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
Добавьте эти using
директивы в начало файла кода:
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
Для некоторых примеров кода в этой статье могут потребоваться дополнительные using
директивы.
Чтобы подключить приложение к хранилищу BLOB-объектов, создайте экземпляр BLOBServiceClient. В следующем примере показано, как создать клиентский объект с помощью DefaultAzureCredential
авторизации:
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
Вы можете зарегистрировать клиент службы для внедрения зависимостей в приложении .NET.
Вы также можете создавать клиентские объекты для определенных контейнеров или больших двоичных объектов. Дополнительные сведения о создании клиентских объектов и управлении ими см. в статье "Создание клиентских объектов и управление ими", взаимодействующих с ресурсами данных.
Механизм авторизации должен иметь необходимые разрешения для создания контейнера. Для авторизации с помощью идентификатора Microsoft Entra (рекомендуется), требуется встроенный участник данных хранилища BLOB-объектов хранилища ролей или более поздней версии. Дополнительные сведения см. в руководстве по авторизации для создания контейнера (REST API).
Имя контейнера должно быть допустимым DNS-именем, поскольку оно является частью уникального URI, используемого для адресации контейнера или его больших двоичных объектов. При присвоении имени контейнеру следуйте нижеприведенным правилам:
URI для ресурса контейнера форматируется следующим образом:
https://my-account-name.blob.core.windows.net/my-container-name
Чтобы создать контейнер, вызовите один из следующих методов из BlobServiceClient
класса:
Вы также можете создать контейнер с помощью одного из следующих методов из BlobContainerClient
класса:
Указанные методы вызывают исключение в случаях, если контейнер с таким именем уже существует.
Контейнеры создаются для учетной записи хранилища немедленно. Нельзя вложить один контейнер в другой.
В следующем примере объект используется BlobServiceClient
для асинхронного создания контейнера:
//-------------------------------------------------
// Create a container
//-------------------------------------------------
private static async Task<BlobContainerClient> CreateSampleContainerAsync(BlobServiceClient blobServiceClient)
{
// Name the sample container based on new GUID to ensure uniqueness.
// The container name must be lowercase.
string containerName = "container-" + Guid.NewGuid();
try
{
// Create the container
BlobContainerClient container = await blobServiceClient.CreateBlobContainerAsync(containerName);
if (await container.ExistsAsync())
{
Console.WriteLine("Created container {0}", container.Name);
return container;
}
}
catch (RequestFailedException e)
{
Console.WriteLine("HTTP error code {0}: {1}",
e.Status, e.ErrorCode);
Console.WriteLine(e.Message);
}
return null;
}
Корневой контейнер является контейнером по умолчанию для вашей учетной записи хранения. Каждая учетная запись хранения может иметь один корневой контейнер, который должен называться $root. Корневой контейнер должен быть явным образом создан или удален.
Вы можете ссылаться на большой двоичный объект, хранящийся в корневом контейнере, не включая имя корневого контейнера. Корневой контейнер позволяет ссылаться на большой двоичный объект на верхнем уровне иерархии учетной записи хранения. К примеру, вы можете ссылаться на большой двоичный объект, находящийся в корневом контейнере, следующим образом:
https://myaccount.blob.core.windows.net/default.html
В нижеприведенном примере корневой контейнер создается синхронно:
//-------------------------------------------------
// Create root container
//-------------------------------------------------
private static void CreateRootContainer(BlobServiceClient blobServiceClient)
{
try
{
// Create the root container or handle the exception if it already exists
BlobContainerClient container = blobServiceClient.CreateBlobContainer("$root");
if (container.Exists())
{
Console.WriteLine("Created root container.");
}
}
catch (RequestFailedException e)
{
Console.WriteLine("HTTP error code {0}: {1}",
e.Status, e.ErrorCode);
Console.WriteLine(e.Message);
}
}
Дополнительные сведения о создании контейнера с помощью клиентской библиотеки Хранилище BLOB-объектов Azure для .NET см. в следующих ресурсах.
Пакет SDK Azure для .NET содержит библиотеки, которые создаются на основе REST API Azure, что позволяет взаимодействовать с операциями REST API через знакомые парадигмы .NET. Методы клиентской библиотеки для создания контейнера используют следующую операцию REST API:
События
31 мар., 23 - 2 апр., 23
Самое большое событие обучения Fabric, Power BI и SQL. 31 марта – 2 апреля. Используйте код FABINSIDER, чтобы сэкономить $400.
Зарегистрироваться сегодняОбучение
Модуль
Работа с Хранилищем BLOB-объектов Azure - Training
Узнайте, как использовать клиентскую библиотеку Хранилища BLOB-объектов Azure для создания и изменения ресурсов хранилища BLOB-объектов.
Сертификация
Создавайте комплексные решения в Microsoft Azure для создания Функции Azure, реализации веб-приложений и управления ими, разработке решений, использующих службу хранилища Azure, и т. д.
Документация
Краткое руководство. Библиотека Хранилище BLOB-объектов Azure — .NET
В этом кратком руководстве вы узнаете, как использовать клиентскую библиотеку службы хранилища BLOB-объектов Azure для .NET для создания контейнера и большого двоичного объекта в хранилище BLOB-объектов. Далее вы узнаете, как скачать большой двоичный объект на локальный компьютер и как получить список всех больших двоичных объектов в контейнере.
Отправка большого двоичного объекта с помощью .NET - Azure Storage
Узнайте, как отправить большой двоичный объект в учетную запись хранения Azure с помощью клиентской библиотеки .NET.
Скачивание большого двоичного объекта с помощью .NET - Azure Storage
Сведения о скачивании большого двоичного объекта в службу хранилища Azure с помощью клиентской библиотеки .NET.