Загрузка объекта типа Blob с помощью JavaScript или TypeScript
01.04.2025
В этой статье показано, как загрузить объект BLOB с помощью клиентской библиотеки Azure Storage для JavaScript. Данные можно загрузить в блочный blob из пути к файлу, потока, буфера или текстовой строки. Вы также можете загружать данные с индексными тегами.
Предварительные условия
В примерах этой статьи предполагается, что у вас уже есть проект, настроенный для работы с клиентской библиотекой Хранилище BLOB-объектов Azure для JavaScript. Сведения о настройке проекта, включая установку пакетов, импорт модулей и создание авторизованного клиентского объекта для работы с ресурсами данных, см. в статье "Начало работы с Хранилище BLOB-объектов Azure и JavaScript".
Механизм авторизации должен иметь разрешения для выполнения операции отправки. Дополнительные сведения см. в руководстве по авторизации для следующих операций REST API:
Клиентские библиотеки службы хранилища Azure не поддерживают одновременную запись в один блоб. Если приложению требуется несколько процессов записи в один и тот же блоб, следует реализовать стратегию управления параллелизмом, чтобы обеспечить предсказуемое взаимодействие. Дополнительные сведения о стратегиях параллелизма см. в статье Управление параллелизмом в хранилище BLOB-объектов.
Загрузка блочного BLOB-объекта из пути к файлу
В следующем примере загружается блочный blob из локального файла:
// containerClient: ContainerClient object
// blobName: string, includes file extension if provided
// readableStream: Readable stream, for example, a stream returned from fs.createReadStream()
async function uploadBlobFromReadStream(containerClient, blobName, readableStream) {
// Create blob client from container client
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
// Upload data to block blob using a readable stream
await blockBlobClient.uploadStream(readableStream);
}
Вы можете задать параметры конфигурации клиентской библиотеки при загрузке блоба. Эти параметры можно настроить для повышения производительности, повышения надежности и оптимизации затрат. В примерах кода в этом разделе показано, как задать параметры конфигурации с помощью интерфейса BlockBlobParallelUploadOptions и передачи этих параметров в качестве параметра вызову метода отправки.
Указание параметров передачи данных при отправке
Свойства можно настроить в BlockBlobParallelUploadOptions , чтобы повысить производительность операций передачи данных. В следующей таблице перечислены свойства, которые можно настроить, а также описание:
Если размер данных меньше или равен этому значению, он передается в один раз, а не разбивается на блоки. Если данные загружаются разом, размер блока игнорируется. Значение по умолчанию — 256 МиБ.
В следующем примере кода показано, как задать значения для BlockBlobParallelUploadOptions и включить параметры в рамках вызова метода отправки. Значения, указанные в примерах, не предназначены для рекомендации. Чтобы правильно настроить эти значения, необходимо учитывать конкретные потребности приложения.
Теги индекса BLOB классифицируют данные в учетной записи хранения с помощью атрибутов тегов ключ-значение. Эти теги автоматически индексируются и представляются в виде многомерного индекса с поддержкой поиска для упрощения нахождения данных.
Установить уровень доступа объекта blob при загрузке
Уровень доступа большого двоичного объекта можно задать при загрузке с помощью интерфейса BlockBlobParallelUploadOptions. В следующем примере кода показано, как задать уровень доступа при загрузке большого двоичного объекта.
Установка уровня доступа разрешена только для блочных blob-объектов. Вы можете задать уровень доступа для блочного BLOB как Hot, Cool, Cold или Archive. Чтобы задать уровень Coldдоступа, необходимо использовать минимальную версию клиентской библиотеки 12.13.0.
Дополнительные сведения о уровнях доступа см. в обзоре уровней доступа.
Ресурсы
Чтобы узнать больше о загрузке BLOB-объектов с помощью клиентской библиотеки Azure Blob Storage для JavaScript, см. следующие ресурсы.
Операции REST API
Пакет SDK Azure для JavaScript содержит библиотеки, которые создаются на основе REST API Azure, что позволяет взаимодействовать с операциями REST API через знакомые парадигмы JavaScript. Методы клиентской библиотеки для отправки больших двоичных объектов используют следующие операции REST API:
Эта статья является частью руководства разработчика по Blob Storage для JavaScript/TypeScript. Дополнительные сведения см. в полном списке статей руководства разработчика по созданию приложения JavaScript и TypeScript.
Get started developing a JavaScript or TypeScript application that works with Azure Blob Storage. This article helps you set up a project and authorizes access to an Azure Blob Storage endpoint.
Из этого краткого руководства вы узнаете, как использовать службу Azure Blob Storage для JavaScript для создания контейнера и BLOB-объекта в хранилище. Далее вы узнаете, как загрузить объект blob на локальный компьютер и как получить список всех объектов blob в контейнере.
Узнайте, как получить список блобов в учетной записи хранения с помощью клиентской библиотеки Azure Storage для JavaScript. В примерах кода показано, как получить неструктурированный список больших двоичных объектов или как создать структурированный список больших двоичных объектов, как если бы они были упорядочены по каталогам или папкам.
Узнайте, как безопасно отправлять образы в хранилище BLOB-объектов Azure из статического веб-приложения с помощью функции Azure для создания подписей общего доступа по запросу.