0Pricing
Azure Fundamentals · Урок

Blob Storage: объектное хранилище в облаке

Храните неструктурированные данные, такие как изображения, видео и резервные копии, в контейнерах Blob и изучите уровни доступа: горячий, холодный и архивный.

«Blob Storage: объектное хранилище в облаке» — бесплатный урок Azure Fundamentals на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Azure Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Azure Fundamentals содержит 4 уроков всего.

Что такое Azure Blob Storage?

Azure Blob Storage (Binary Large Object) — это объектное хранилище Azure для хранения огромных объёмов неструктурированных данных — данных, которые не соответствуют схеме реляционной базы данных. К ним относятся изображения, видео, аудиофайлы, документы PDF, файлы журналов, резервные копии и двоичные файлы приложений. Доступ к Blob Storage осуществляется через REST API HTTP/HTTPS, Azure SDK или Azure CLI. Это одна из наиболее широко используемых служб Azure и основа многих архитектур озёр данных, медиасистем и резервного копирования.

Иерархия Blob Storage

Blob Storage организовано в виде иерархии из трёх уровней: Storage Account → Container → Blob. Контейнер похож на папку верхнего уровня: он объединяет связанные объекты Blob и определяет политику доступа ко всему их содержимому. Объект Blob — это отдельный объект (файл), сохранённый в контейнере. Имена объектов Blob могут содержать косые черты (/) для имитации иерархии папок (например, images/2024/photo.jpg), но Blob Storage фактически имеет плоскую структуру — эти косые черты являются частью имени объекта Blob, а не настоящими каталогами.

# Upload a file to a Blob container
az storage blob upload \
  --account-name mystorageacct \
  --container-name images \
  --name 'photos/2024/sunset.jpg' \
  --file ./sunset.jpg

Типы Blob

Azure Blob Storage поддерживает три типа объектов Blob: Block blobs — наиболее распространённый тип, идеально подходящий для хранения документов, изображений и видео. Данные разделяются на блоки и загружаются параллельно; максимальный размер составляет около 190 TB. Append blobs — оптимизированы для операций только добавления, например записи файлов журналов; новые данные всегда добавляются в конец. Page blobs — наборы страниц размером 512 байт, оптимизированные для произвольного чтения и записи; используются управляемыми дисками Azure VM как базовый механизм хранения. Если Вы не уверены в выборе, используйте block blobs — это тип по умолчанию для объектного хранилища общего назначения.

Уровни доступа к Blob

Blob Storage предлагает три уровня доступа, балансирующих стоимость хранения и стоимость доступа: уровень Hot — самая высокая стоимость хранения и самая низкая стоимость доступа; предназначен для часто используемых данных. уровень Cool — более низкая стоимость хранения, более высокая стоимость доступа и обязательный минимальный срок хранения 30 дней; предназначен для редко используемых данных, например ежемесячных отчётов. уровень Archive — самая низкая стоимость хранения (примерно на 95% ниже уровня Hot), но перед доступом к данным требуется несколько часов на их восстановление из архива; предназначен для архивов долгосрочного хранения в целях соблюдения требований, к которым обращаются редко. Вы можете задать уровень по умолчанию на уровне учётной записи и переопределить его для отдельного объекта Blob.

# Set blob access tier to Cool
az storage blob set-tier \
  --account-name mystorageacct \
  --container-name backups \
  --name monthly-report.zip \
  --tier Cool

Политики управления жизненным циклом

Управлять уровнями хранения BLOB-объектов вручную, когда их миллионы, непрактично. Политики управления жизненным циклом автоматизируют этот процесс: Вы задаёте правила, по которым BLOB-объекты перемещаются на более холодные уровни или удаляются в зависимости от возраста либо даты последнего доступа. Например: перемещать BLOB-объекты на уровень Cool после 30 дней без изменений, на уровень Archive — после 180 дней, а удалять — после 365 дней. Это позволяет автоматически оптимизировать стоимость хранения со временем без ручного вмешательства. Политики жизненного цикла задаются в JSON и применяются на уровне учётной записи хранения, затрагивая все BLOB-объекты в этой учётной записи.

Управление доступом к BLOB-объектам

По умолчанию все BLOB-объекты в контейнере являются частными — получить к ним доступ могут только аутентифицированные пользователи с соответствующими разрешениями. Вы можете сделать контейнеры и BLOB-объекты общедоступными, задав для контейнера уровень доступа Blob (доступно чтение отдельных BLOB-объектов) или Container (доступны просмотр списка контейнера и чтение всех BLOB-объектов). Для более детального доступа с ограниченным сроком действия используйте Shared Access Signatures (SAS) — URL-адреса с криптографическим токеном, который предоставляет определённые разрешения (чтение, запись, удаление) для конкретного ресурса на определённый период времени без передачи ключей учётной записи.

# Generate a SAS token for read-only access to a blob (expiring in 1 hour)
az storage blob generate-sas \
  --account-name mystorageacct \
  --container-name images \
  --name photo.jpg \
  --permissions r \
  --expiry 2024-12-31T00:00:00Z

Размещение статического веб-сайта

Хранилище BLOB-объектов Azure может размещать статические веб-сайты — HTML, CSS, JavaScript и файлы изображений, которые обслуживаются непосредственно из учётной записи хранения по HTTP/HTTPS без серверного кода. Включите размещение статического веб-сайта в учётной записи хранения, укажите документ индекса (например, index.html) и документ ошибок, а затем загрузите статические файлы в специальный контейнер $web. URL учётной записи хранения станет URL Вашего веб-сайта. Используйте вместе с Azure CDN пользовательский домен, HTTPS и глобальное кэширование на периферийных узлах, чтобы сайт быстро работал для пользователей по всему миру.

# Enable static website hosting
az storage blob service-properties update \
  --account-name mystorageacct \
  --static-website \
  --index-document index.html \
  --404-document 404.html

Хранилище BLOB-объектов для резервных копий

Хранилище BLOB-объектов — естественное место для резервных копий приложений и баз данных: оно обеспечивает высокую надёжность (11 девяток надёжности с LRS и ещё более высокую — с GRS), высокую доступность и очень низкую стоимость хранения больших объёмов данных, особенно на уровнях Cool и Archive. Многие службы резервного копирования Azure (Azure Backup для виртуальных машин, автоматические резервные копии SQL Database) фактически хранят данные в хранилище BLOB-объектов. Вы также можете написать скрипты резервного копирования, которые напрямую выгружают базу данных в BLOB-объект с помощью Azure CLI или SDK в рамках запланированной задачи.

Azure Data Lake Storage Gen2

Azure Data Lake Storage Gen2 (ADLS Gen2) создано на основе хранилища BLOB-объектов и дополнено функцией иерархического пространства имён, которая делает операции с каталогами (переименование, удаление) атомарными и эффективными — это особенно важно для рабочих нагрузок аналитики больших данных. Включение иерархического пространства имён в учётной записи хранения превращает её в ADLS Gen2, которое изначально интегрируется с Azure Synapse Analytics, Azure Databricks и HDInsight. Оно поддерживает как API хранилища BLOB-объектов, так и протокол HDFS, поэтому совместимо с существующими инструментами и платформами на основе Hadoop.

Цены на хранилище BLOB-объектов

Стоимость хранилища BLOB-объектов складывается из трёх компонентов: стоимость хранения — за каждый GB в месяц; она зависит от уровня (примерно 0,018 доллара США за GB для hot, 0,01 доллара США за GB для cool и 0,001 доллара США за GB для archive в регионе East US). Стоимость операций — за каждые 10 000 операций чтения и записи; для более холодных уровней она выше. Стоимость передачи данных — входящая передача (загрузка) бесплатна, а исходящая (скачивание из интернета) оплачивается. Для больших наборов данных выбор уровня существенно влияет на общую стоимость: перенос редко используемых данных с Hot на Cool обычно вдвое сокращает счёт за хранение, а Archive может снизить затраты на 95%.

Неизменяемое хранилище BLOB-объектов

Регулируемые отрасли, такие как финансовая сфера и здравоохранение, требуют хранить данные в формате однократной записи и многократного чтения (WORM) для соблюдения таких нормативных требований, как правило SEC 17a-4 и HIPAA. Политики неизменяемости хранилища BLOB-объектов Azure позволяют заблокировать BLOB-объекты, чтобы их нельзя было изменить или удалить в течение указанного срока хранения. Доступны два типа политик: хранение на основе времени (BLOB-объект заблокирован до определённой даты) и юридическое удержание (BLOB-объект заблокирован на неопределённый срок, пока удержание не будет снято). После блокировки удалить BLOB-объекты в течение срока хранения не могут даже администраторы учётной записи хранения.

Быстрая проверка

Проверьте, насколько хорошо Вы понимаете рассмотренные на этом уроке концепции Microsoft Azure Fundamentals (AZ-900).

Итоги урока

На этом уроке Вы узнали, что хранилище BLOB-объектов — это объектное хранилище для неструктурированных данных, организованное в иерархию из учётной записи хранения, контейнера и BLOB-объекта, три уровня доступа — hot, cool и archive — уравновешивают стоимость хранения и стоимость доступа для разных сценариев использования, а политики управления жизненным циклом автоматически перемещают BLOB-объекты на более дешёвые уровни или удаляют их в зависимости от возраста. Далее мы рассмотрим Azure Files и Queue Storage для общего доступа к файлам и разделения сообщений.

Часто задаваемые вопросы

Урок «Blob Storage: объектное хранилище в облаке» бесплатный?

Да — полный текст урока «Blob Storage: объектное хранилище в облаке» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Azure Fundamentals, подпишись на CoddyKit PRO. Курс Azure Fundamentals содержит 4 уроков всего.

Чему я научусь в уроке «Blob Storage: объектное хранилище в облаке»?

Храните неструктурированные данные, такие как изображения, видео и резервные копии, в контейнерах Blob и изучите уровни доступа: горячий, холодный и архивный. Ты практикуешь Azure Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Azure Fundamentals?

Предыдущий опыт не требуется. Azure Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Blob Storage: объектное хранилище в облаке»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Azure Fundamentals?

Да. Каждый урок Azure Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Учетные записи Azure Storage
  2. Blob Storage: объектное хранилище в облаке
  3. Azure Files и Queue Storage
  4. Дисковое хранилище и безопасность хранения
← Назад к Azure Fundamentals