Начало работы с Хранилище BLOB-объектов Azure и JavaScript или TypeScript
В этой статье показано, как подключиться к Хранилище BLOB-объектов Azure с помощью клиентской библиотеки Хранилище BLOB-объектов Azure для JavaScript. После подключения используйте руководства разработчика, чтобы узнать, как ваш код может работать с контейнерами, большими двоичными объектами и функциями службы хранилища BLOB-объектов.
Если вы хотите начать с полного примера, ознакомьтесь с кратким руководством по клиентской библиотеке для JavaScript или TypeScript.
Примеры | исходного кода | библиотеки с справочником | по API (npm) | Дают отзыв
Необходимые компоненты
- Подписка Azure — создайте бесплатную учетную запись.
- Учетная запись хранения Azure — создайте такую учетную запись.
- LTS Node.js
- TypeScript, если применимо
- Для клиентских (браузерных) приложений требуются средства объединение.
Настройка проекта
В этом разделе описано, как подготовить проект для работы с клиентской библиотекой Хранилище BLOB-объектов Azure для JavaScript.
Откройте командную строку и перейдите в папку проекта. Измените <project-directory>
имя папки:
cd <project-directory>
Если у вас в каталоге еще нет файла package.json
, инициализируйте проект, чтобы создать файл:
npm init -y
В каталоге проекта установите пакеты для клиентских библиотек Хранилище BLOB-объектов Azure и удостоверений Azure с помощью npm install
команд или yarn add
команд. Пакет @azure/identity необходим для подключений без пароля к службам Azure.
npm install @azure/storage-blob @azure/identity
Авторизация доступа и подключения к хранилищу 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
:
const accountName = "<account-name>";
const accountURL = `https://${accountName}.blob.core.windows.net`;
const blobServiceClient = new BlobServiceClient(
accountURL,
new DefaultAzureCredential()
);
Этот пример кода можно использовать для проектов JavaScript или TypeScript.
Сборка приложения
При создании приложений для работы с ресурсами данных в Хранилище BLOB-объектов Azure код в основном взаимодействует с тремя типами ресурсов: учетными записями хранения, контейнерами и большими двоичными объектами. Дополнительные сведения об этих типах ресурсов, о том, как они связаны друг с другом и как приложения взаимодействуют с ресурсами, см. в статье "Общие сведения о взаимодействии приложений с ресурсами хранилища BLOB-объектов".
В следующих руководствах показано, как получить доступ к данным и выполнить определенные действия с помощью клиентской библиотеки служба хранилища Azure для JavaScript:
Руководство | Description |
---|---|
Настройка политики повторных попыток | Реализуйте политики повторных попыток для клиентских операций. |
Копирование больших двоичных объектов | Скопируйте большой двоичный объект из одного расположения в другое. |
Создание контейнера | Создание контейнеров BLOB-объектов. |
Создание SAS для делегирования пользователя | Создайте SAS делегирования пользователей для контейнера или большого двоичного объекта. |
Создание аренды BLOB-объектов и управление ими | Создайте блокировку большого двоичного объекта и управляйте ими. |
Создание аренды контейнеров и управление ими | Создайте блокировку контейнера и управляйте ею. |
Удаление и восстановление | Удалите большие двоичные объекты и восстановите обратимо удаленные большие двоичные объекты. |
Удаление и восстановление контейнеров | Удалите контейнеры и восстановите обратимо удаленные контейнеры. |
скачивание больших двоичных объектов; | Скачивание BLOB-объектов с помощью строк, потоков и путей к файлам. |
Поиск BLOB-объектов с помощью тегов | Задайте и извлеките теги и используйте теги для поиска больших двоичных объектов. |
Перечисление больших двоичных объектов | Перечисление BLOB-объектов различными способами. |
Перечисление контейнеров | Перечисление контейнеров в учетной записи и различные параметры, доступные для настройки списка. |
Управление свойствами и метаданными (BLOB-объектами) | Получение и задание свойств и метаданных для BLOB-объектов. |
Управление свойствами и метаданными (контейнерами) | Получение и задание свойств и метаданных для контейнеров. |
Настройка производительности для передачи данных | Оптимизируйте производительность операций передачи данных. |
Установка или изменение уровня доступа большого двоичного объекта | Задайте или измените уровень доступа для блочного большого двоичного объекта. |
отправка больших двоичных объектов; | Отправка BLOB-объектов с помощью строк, потоков, путей к файлам и других методов. |