Начало работы с Хранилищем BLOB-объектов Azure и .NET
В этой статье показано, как подключиться к Хранилище BLOB-объектов Azure с помощью клиентской библиотеки Хранилище BLOB-объектов Azure для .NET. После подключения используйте руководства разработчика, чтобы узнать, как ваш код может работать с контейнерами, большими двоичными объектами и функциями службы хранилища BLOB-объектов.
Если вы хотите начать с полного примера, см. краткое руководство по Хранилище BLOB-объектов Azure клиентской библиотеке для .NET.
Примеры | | пакета исходного кода | библиотеки API (NuGet) | Дают отзыв
Необходимые компоненты
- Подписка Azure — создайте бесплатную учетную запись.
- Учетная запись хранения Azure — создайте такую учетную запись.
- Последний пакет SDK для .NET для операционной системы. Обязательно получите пакет SDK, а не среду выполнения.
Настройка проекта
В этом разделе рассматривается подготовка проекта для работы с клиентской библиотекой хранилища 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;
Сведения о клиентской библиотеке BLOB-объектов:
Azure.Storage.Blobs: содержит основные классы (клиентские объекты), которые можно использовать для работы со службой, контейнерами и BLOB-объектами.
Azure.Storage.Blobs.Specialized: содержит классы, которые можно использовать для выполнения операций, относящихся к типу BLOB-объектов, например блочных BLOB-объектов.
Azure.Storage.Blobs.Models: все остальные вспомогательные классы, структуры и типы перечислений.
Авторизация доступа и подключения к хранилищу BLOB-объектов
Чтобы подключить приложение к хранилищу BLOB-объектов, создайте экземпляр класса BlobServiceClient . Этот объект является отправной точкой для взаимодействия с ресурсами данных на уровне учетной записи хранения. Его можно использовать для работы с учетной записью хранения и ее контейнерами. Вы также можете использовать клиент службы для создания клиентов контейнеров или клиентов БОЛЬШИХ двоичных объектов в зависимости от ресурса, с которым требуется работать.
Дополнительные сведения о создании клиентских объектов и управлении ими см. в статье "Создание клиентских объектов и управление ими", взаимодействующих с ресурсами данных.
Вы можете авторизовать BlobServiceClient
объект с помощью маркера авторизации Microsoft Entra, ключа доступа к учетной записи или подписанного URL-адреса (SAS). Для оптимальной безопасности корпорация Майкрософт рекомендует использовать идентификатор Microsoft Entra с управляемыми удостоверениями для авторизации запросов к данным BLOB-объектов. Дополнительные сведения см. в разделе "Авторизация доступа к BLOB-объектам" с помощью идентификатора Microsoft Entra.
Для авторизации с помощью идентификатора Microsoft Entra необходимо использовать субъект безопасности. Тип необходимого субъекта безопасности зависит от того, где выполняется приложение. Используйте эту таблицу в качестве справочника.
Где выполняется приложение | Субъект безопасности | Руководство |
---|---|---|
Локальный компьютер (разработка и тестирование) | Субъект-служба | Сведения о регистрации приложения, настройке группы Microsoft Entra, назначении ролей и настройке переменных среды см. в статье "Авторизация доступа с помощью субъектов-служб разработчиков" |
Локальный компьютер (разработка и тестирование) | Удостоверение пользователя | Сведения о настройке группы Microsoft Entra, назначении ролей и входе в Azure см. в статье "Авторизация доступа с помощью учетных данных разработчика" |
Размещено в Azure | Управляемое удостоверение | Сведения о включении управляемого удостоверения и назначении ролей см. в статье "Авторизация доступа из приложений, размещенных в Azure" с помощью управляемого удостоверения. |
Размещенные вне Azure (например, локальные приложения) | Субъект-служба | Сведения о регистрации приложения, назначении ролей и настройке переменных среды см. в статье "Авторизация доступа из локальных приложений с помощью субъекта-службы приложений" |
Авторизация доступа с помощью DefaultAzureCredential
Простой и безопасный способ авторизации доступа и подключения к хранилищу BLOB-объектов — получить маркер OAuth, создав экземпляр DefaultAzureCredential . Затем можно использовать эти учетные данные для создания объекта BlobServiceClient .
В следующем примере создается объект, авторизованный BlobServiceClient
с помощью DefaultAzureCredential
:
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
Если вы знаете, какой тип учетных данных вы будете использовать для проверки подлинности пользователей, вы можете получить маркер OAuth с помощью других классов в клиентской библиотеке удостоверений Azure для .NET. Эти классы являются производными от класса TokenCredential .
Дополнительные сведения о каждом из этих механизмов авторизации см. в статье об авторизации доступа к данным в службе хранилища Azure.
Сборка приложения
При создании приложений для работы с ресурсами данных в Хранилище BLOB-объектов Azure код в основном взаимодействует с тремя типами ресурсов: учетными записями хранения, контейнерами и большими двоичными объектами. Дополнительные сведения об этих типах ресурсов, о том, как они связаны друг с другом и как приложения взаимодействуют с ресурсами, см. в статье "Общие сведения о взаимодействии приложений с ресурсами хранилища BLOB-объектов".
В следующих руководствах показано, как получить доступ к данным и выполнить определенные действия с помощью клиентской библиотеки служба хранилища Azure для .NET:
Руководство | Description |
---|---|
Добавление данных в BLOB-объекты | Создание добавочного BLOB-объекта и добавление в него данных. |
Настройка политики повторных попыток | Реализуйте политики повторных попыток для клиентских операций. |
Копирование больших двоичных объектов | Скопируйте большой двоичный объект из одного расположения в другое. |
Создание контейнера | Создание контейнеров. |
Создание SAS для делегирования пользователя | Создайте SAS делегирования пользователей для контейнера или большого двоичного объекта. |
Создание аренды BLOB-объектов и управление ими | Создайте блокировку большого двоичного объекта и управляйте ими. |
Создание аренды контейнеров и управление ими | Создайте блокировку контейнера и управляйте ею. |
Удаление и восстановление больших двоичных объектов | Удаление BLOB-объектов. Если включено обратимое удаление, восстановление удаленных BLOB-объектов. |
Удаление и восстановление контейнеров | Удаление контейнеров. Если включено обратимое удаление включено, восстановление удаленных контейнеров. |
скачивание больших двоичных объектов; | Скачивание BLOB-объектов с помощью строк, потоков и путей к файлам. |
Поиск BLOB-объектов с помощью тегов | Задайте и извлеките теги и используйте теги для поиска больших двоичных объектов. |
Перечисление больших двоичных объектов | Перечисление BLOB-объектов различными способами. |
Перечисление контейнеров | Перечисление контейнеров в учетной записи и различные параметры, доступные для настройки списка. |
Управление свойствами и метаданными | Получение и задание свойств и метаданных для BLOB-объектов. |
Управление свойствами и метаданными | Получение и задание свойств и метаданных для контейнеров. |
Настройка производительности для передачи данных | Оптимизируйте производительность операций передачи данных. |
Установка или изменение уровня доступа большого двоичного объекта | Задайте или измените уровень доступа для блочного большого двоичного объекта. |
отправка больших двоичных объектов; | Отправка BLOB-объектов с помощью строк, потоков, путей к файлам и других методов. |