Начало работы с Хранилищем BLOB-объектов Azure и .NET
В этой статье показано, как подключиться к Хранилище BLOB-объектов Azure с помощью клиентской библиотеки Хранилище BLOB-объектов Azure для .NET. После подключения код может работать в контейнерах, BLOB-объектах, функциях службы хранилища BLOB-объектов.
Примеры | | пакета исходного кода | библиотеки 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. служба хранилища. Blobs.Specialized: содержит классы, которые можно использовать для выполнения операций, относящихся к типу BLOB-объектов, например блочных BLOB-объектов.
Azure.Storage.Blobs.Models: все остальные вспомогательные классы, структуры и типы перечислений.
Авторизация доступа и подключения к служба хранилища BLOB-объектов
Чтобы подключить приложение к служба хранилища BLOB-объектов, создайте экземпляр класса BlobServiceClient. Этот объект является отправной точкой для взаимодействия с ресурсами данных на уровне учетной записи хранения. Его можно использовать для работы с учетной записью хранения и ее контейнерами. Вы также можете использовать клиент службы для создания клиентов контейнеров или клиентов БОЛЬШИХ двоичных объектов в зависимости от ресурса, с которым требуется работать.
Дополнительные сведения о создании клиентских объектов и управлении ими см. в статье "Создание клиентских объектов и управление ими", взаимодействующих с ресурсами данных.
Вы можете авторизовать BlobServiceClient
объект с помощью маркера авторизации Microsoft Entra, ключа доступа к учетной записи или подписанного URL-адреса (SAS).
Дополнительные сведения о каждом из этих механизмов авторизации см. в статье об авторизации доступа к данным в службе хранилища Azure.
Для авторизации с помощью идентификатора 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-объекты | Создание добавочного BLOB-объекта и добавление в него данных. |
отправка больших двоичных объектов; | Отправка BLOB-объектов с помощью строк, потоков, путей к файлам и других методов. |
скачивание больших двоичных объектов; | Скачивание BLOB-объектов с помощью строк, потоков и путей к файлам. |
Копирование больших двоичных объектов | Скопируйте большой двоичный объект из одного расположения в другое. |
Перечисление больших двоичных объектов | Перечисление BLOB-объектов различными способами. |
Удаление и восстановление | Удаление BLOB-объектов. Если включено обратимое удаление, восстановление удаленных BLOB-объектов. |
Поиск BLOB-объектов с помощью тегов | Задайте и извлеките теги и используйте теги для поиска больших двоичных объектов. |
Управление свойствами и метаданными | Получение и задание свойств и метаданных для BLOB-объектов. |
Установка или изменение уровня доступа большого двоичного объекта | Задайте или измените уровень доступа для блочного большого двоичного объекта. |