Начало работы с Хранилищем BLOB-объектов Azure и .NET

В этой статье показано, как подключиться к Хранилище BLOB-объектов Azure с помощью клиентской библиотеки Хранилище BLOB-объектов Azure для .NET. После подключения код может работать в контейнерах, BLOB-объектах, функциях службы хранилища BLOB-объектов.

Примеры | | пакета исходного кода | библиотеки API (NuGet) | Дают отзыв

Необходимые компоненты

Настройка проекта

В этом разделе рассматривается подготовка проекта для работы с клиентской библиотекой хранилища 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-объектов.
Установка или изменение уровня доступа большого двоичного объекта Задайте или измените уровень доступа для блочного большого двоичного объекта.

См. также