Гид по технологиям

Управление данными в Azure Storage: Blobs, File Shares, Tables и Queues

8 min read Cloud Storage Обновлено 29 Oct 2025
Azure Storage — Blobs, File Shares, Tables, Queues
Azure Storage — Blobs, File Shares, Tables, Queues

Azure Storage объединяет четыре разных типа хранилищ (Blobs, File Shares, Tables, Queues), каждое подходит под свои сценарии: объекты и медиаданные — Blobs, смонтированные SMB-шары — File Shares, быстрые NoSQL-таблицы — Tables, и асинхронная передача сообщений — Queues. Для администраторов и разработчиков важно выбрать тип по требованиям к доступу, задержкам, консистентности и интеграции. В конце статьи — чек-листы, критерии приёмки и рекомендации по безопасности.

Быстрые ссылки

  • Создать учетную запись хранения
  • Создать контейнер (Blob)
  • File Shares
  • Tables
  • Queues
  • Управление через Storage Explorer (preview)
  • Заключение

Введение

Azure предлагает несколько способов хранения данных. Учетная запись Storage — это контейнер верхнего уровня, в котором сосредоточены четыре основных сервиса: Blob (контейнеры), File Shares, Tables и Queues. Понимание различий помогает подобрать оптимальное решение по стоимости, производительности и доступности.

Кратко о назначении каждого сервиса:

  • Blobs (контейнеры): неструктурированное объектное хранилище для больших файлов, бэкапов, логов, медиаконтента и cloud-native workload’ов. Поддерживает разные уровни доступа и lifecycle-политику.
  • File Shares: традиционные SMB-шары для совместного доступа к файловой системе (SMB 3.0), удобны для lift-and-shift сценариев и совместимости с приложениями, ожидающими файловую систему.
  • Tables: NoSQL key-value хранилище для быстрых операций с табличными данными и простых схем данных.
  • Queues: асинхронные очереди сообщений для декуплинга компонентов приложения и буферизации задач.

Важно: одна учетная запись хранения может содержать все четыре типа, что упрощает управление доступом, биллингом и резервным копированием.

Создание учетной записи хранения

Перед созданием контейнеров, таблиц или очередей нужно завести учетную запись Storage.

  1. В портале Azure перейдите в «Storage accounts» и нажмите «Добавить» (Add) для запуска мастера создания.

Логотип Azure

  1. Укажите имя, регион, уровень производительности и параметры репликации в соответствии с требованиями (в статье использованы значения по умолчанию, за исключением имени и региона).

Нажмите «Добавить», чтобы начать мастер создания

  1. Нажмите «Review + Create», затем «Create».

После настройки параметров нажмите «Review + Create»

  1. Перейдите в созданную учетную запись хранения: вы увидите разделы для Blobs, File Shares, Tables и Queues.

Доступные опции в учетной записи хранения

Контейнеры (Blob Storage)

Blob-хранилище — основной выбор для больших файлов и объектов: образов виртуальных машин, медиафайлов, статических веб-ресурсов, бэкапов.

  1. В разделе Overview нажмите «Containers» и затем плюсик рядом с «Container».
  2. Выберите имя контейнера и уровни доступа, нажмите «Create».

Нажмите «Create», чтобы создать контейнер

После создания вы получите интерфейс для загрузки объектов, управления политиками доступа и просмотра свойств.

Интерфейс для загрузки объектов и управления контейнером

Внешняя загрузка в Blob (azcopy + SAS)

Часто файлы загружают извне — локальных машин или CI/CD билд-агентов. Самый распространённый инструмент — azcopy, использующий SAS (Shared Access Signature).

Примерный процесс:

  1. Создать SAS для Blob service через портал или CLI.

Пример создания SAS в PowerShell

  1. Скопировать URL SAS для blob/service.

Скопируйте SAS URL для Blob service

  1. Использовать azcopy для копирования каталога рекурсивно:
azcopy copy 'C:\Files' {Container SAS URL} --recursive

Советы и варианты:

  • Используйте краткоживущие SAS с минимально необходимыми правами (upload/list) и фиксированным сроком жизни.
  • Для автоматизации в CI/CD храните SAS в защищённых секретах или используйте Managed Identity + роль для избежания SAS.

File Shares (SMB)

Azure File Shares предоставляет SMB 3.0 шары, которые можно монтировать на Windows, Linux (cIFS/SMB клиент) и macOS (с ограничениями). Это удобно, когда приложение ожидает файловую систему.

Примечание: SMB 3.0 появился в Windows 8 / Windows Server 2012 — современные Windows-клиенты поддерживают требуемый протокол.

  1. Перейдите в «File Shares» и нажмите плюсик рядом с «File Share».

Создание файловой шары

  1. Задайте имя и tier (производительность), затем создайте.

Имя файловой шары и выбор tier

  1. После создания появится стандартный интерфейс управления файлами: загрузка, создание папок, просмотр статистики.

Загрузка и управление файлами в файловой шаре

Подключение извне (PowerShell / монтирование)

Для монтирования на Windows часто используется автоматически сгенерированный скрипт PowerShell. Для работы требуется доступ на порт 445 (SMB).

Используйте предоставленный PowerShell-скрипт для монтирования диска

Пример монтирования на Windows (из портала будет готовый пример):

net use Z: "\\.file.core.windows.net\" /u:Azure\ 

Советы:

  • Откройте порт 445 во фаерволах и на маршрутизаторе (если соединяетесь напрямую).
  • Используйте Azure File Sync для гибридных сценариев (локальный кэш + облако).

Tables (NoSQL)

Tables — простой высокопроизводительный ключ-значение хранилище, удобное для схем с динамическими свойствами и быстрым доступом.

  1. В разделе Overview выберите «Tables» и нажмите плюс.

Нажмите «Tables» и затем «+», чтобы добавить таблицу

  1. Укажите имя таблицы и подтвердите.

Задайте имя таблицы и нажмите «OK»

Внешнее подключение (PowerShell с Az + AzTable)

Для работы с таблицами из PowerShell используют модули Az и AzTable. Пример:

# Install Az Module
Install-Module -Name 'Az'
# Install AzTable Module
Install-Module -Name 'AzTable'
# Import modules
Import-Module -Name 'Az'
Import-Module -Name 'AzTable'
# Connect to Azure AD
Connect-AzAccount
# Get storage account
$storageAccount = Get-AzStorageAccount -Name 'myStorageaccount' -ResourceGroupName 'myRG'
# Get table
$table = Get-AzStorageTable --Name 'myTestTable' --Context $storageAccount.Context
# Add a row
$Params = @{
  "Table"        = $Table.CloudTable
  "PartitionKey" = 'Partition1'
  "RowKey"       = 'Key1'
  "Property"     = @{
    "FirstProperty"  = 'Test Value 1'
    "SecondProperty" = 'Test Value 2'
  }
}
Add-AzTableRow @Params

Практические подсказки:

  • Планируйте PartitionKey и RowKey для равномерного распределения нагрузки и быстрого поиска.
  • Для сложных запросов и транзакций рассмотрите Azure Cosmos DB.

Queues

Queues в Azure Storage — это простая и надёжная очередь сообщений для буферизации задач между компонентами. Подходит для сценариев «producer–consumer» с простыми сообщениями (до ограничений размера).

  1. В разделе Overview нажмите «Queues», затем «+».

Нажмите «Queues» и затем «+», чтобы добавить очередь

  1. Укажите имя очереди и создайте её.

Укажите имя очереди и нажмите «OK»

Подключение извне (PowerShell + .NET)

PowerShell-командлетов поверх Az для очередей меньше; часто используют .NET-классы или SDK. Пример с использованием классов .NET через PowerShell:

# Install the Az Module
Install-Module -Name 'Az'
# Import the Az Module
Import-Module -Name 'Az'
# Connect to Azure AD
Connect-AzAccount
# Connect to storage account
$storageAccount = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myRG'
# Get queue
$queue = Get-AzStorageQueue --Name 'myQueue' --Context $storageAccount.Context
# Create a new message
$queueMessage = [Microsoft.Azure.Storage.Queue.CloudQueueMessage]::New("Test Message")
# Add the message
$queue.CloudQueue.AddMessageAsync($QueueMessage)

Замечания:

  • Для обработки больших нагрузок рассмотрите использование Service Bus (если нужны сложные сценарии доставки, транзакции, FIFO и т.д.).
  • Для простых задач Storage Queues обычно достаточно.

Управление через Storage Explorer (preview)

Storage Explorer предоставляет единый интерфейс для всех четырёх сервисов и ускоряет администрирование.

Опции, доступные в Storage Explorer:

  • Blobs: Upload, Download, Create Folders, Folder Statistics
  • File Shares: Upload, Download, Create Folders, Directory Statistics, Connect VM
  • Queues: View Message, Add Message, Dequeue Message, Clear Queue
  • Tables: Query, Add, Edit, Table Statistics

Опции для управления данными через Storage Explorer

Storage Explorer удобен для быстрых правок, едафильтрации и импорта/экспорта данных.

Когда использовать каждый сервис — практическое руководство

  • Blobs: статические сайты, CDN-статические активы, медиаконтент, бэкапы, большие объекты — используйте, когда данные являются объектами и доступны по HTTP(S).
  • File Shares: совместный доступ к файловой системе, приложения которые ожидают SMB, поднятие lift-and-shift приложений — используйте SMB 3.0 при необходимости POSIX/NTFS-принимаемости.
  • Tables: журнал событий, телеметрия, метаданные — когда схема может меняться и нужны быстрые запросы по ключу.
  • Queues: фоновые задачи, заказ на обработку, интеграция микросервисов — используйте для декуплинга компонентов.

Контрпримеры — когда не стоит использовать:

  • Не используйте Tables для сложных реляционных запросов и транзакций — для этого SQL или Cosmos DB лучше.
  • Не используйте File Shares для интернета-ориентированных сервисов с низкими задержками по доступу — лучше Blob или CDN.
  • Не используйте Storage Queues, если вам нужны гарантии FIFO, маршрутизация, транзакции — рассмотрите Service Bus.

Модель принятия решения (Mermaid)

Ниже — простая логика выбора сервиса (Mermaid диаграмма):

flowchart TD
  A[Начало: какие данные?] --> B{Файлы или объекты?}
  B -- Объекты/медиа --> C[Blobs]
  B -- Файловая система --> D[File Shares]
  A --> E{Сообщения или записи?}
  E -- Сообщения --> F[Queues]
  E -- Ключ-значение/таблица --> G[Tables]
  C --> H[CDN/Static site]
  D --> I[SMB mount / Lift-and-shift]
  F --> J[Background processing]
  G --> K[Telemetry / metadata]

Ролевые чек-листы

Администратор (Ops):

  • Проверить настройки репликации (LRS/GRS/ZRS).
  • Настроить firewall/Private endpoint для критичных хранилищ.
  • Настроить тревоги/логирование и бэкапы.

Разработчик:

  • Выбрать SDK (Azure SDKs) для работы с нужным сервисом.
  • Проектировать ключи (PartitionKey/RowKey) для Tables.
  • Минимизировать права SAS и срок их жизни.

Инженер безопасности:

  • Включить серверное шифрование (по умолчанию включено).
  • Использовать RBAC и Managed Identities вместо ключей там, где возможно.
  • Ограничивать доступ через Private Endpoints/Service Endpoints.

Критерии приёмки

Для каждого типа хранения определите критерии до запуска в продакшен:

  • Blobs: скорость загрузки/скачивания, корректность ACL/SAS, проверка lifecycle-правил.
  • File Shares: успешное монтирование на целевых ОС, пропускная способность, корректность прав доступа NTFS.
  • Tables: время отклика на ключевой запрос < допустимого SLA (по внутренним требованиям), корректность схемы данных.
  • Queues: время видимости сообщений, успешная обработка и удаление сообщений без дублирования.

Безопасность и конфиденциальность

Ключевые рекомендации:

  • SAS с минимальными правами и коротким сроком жизни.
  • Использовать Managed Identity для приложений и назначать роли (Storage Blob Data Contributor и т.д.).
  • Private Endpoints и виртуальные сети для ограничения экспонирования в интернет.
  • Логирование доступа и аудит с помощью Azure Monitor и Diagnostics.
  • Шифрование данных на стороне сервера (SSE) и при необходимости — клиентское шифрование.

Примечание по GDPR/конфиденциальности: храните персональные данные в регионе, соответствующем требованиям законодательства вашей организации. Используйте шифрование и управление ключами (Azure Key Vault) для защиты критичных данных.

Миграция и совместимость

  • Для переносов больших объёмов используйте AzCopy или AzCopy в параллельном режиме.
  • Для lift-and-shift файловых серверов рассмотрите Azure File Sync: кэширование на локальных серверах и хранение в Azure.
  • При миграции таблиц учитывайте изменение ключевых полей и миграцию PartitionKey/RowKey для распределения нагрузки.

Советы по тестированию и приёмке

Тест-кейсы:

  • Загрузить набор файлов (разных размеров) в Blob; проверить целостность и скорость.
  • Смонтировать File Share на целевых ОС и провести операцию массового чтения/записи.
  • Записать и прочитать строки в Table с разными PartitionKey для проверки латентности.
  • Отправить и получить сообщения из Queue под нагрузкой, проверить обработку и повторные попытки.

Критерии приёмки должны включать проверку отказоустойчивости и восстановления после сетевых разрывов.

Заключение

Azure Storage — мощный и гибкий набор сервисов для самых разных сценариев хранения и обмена данными. Правильный выбор между Blobs, File Shares, Tables и Queues зависит от требований к доступу, консистентности,latency и интеграции с существующей инфраструктурой. Используйте Storage Explorer для быстрого администрирования, azcopy и PowerShell для автоматизации, а в критичных по безопасности сценариях — Private Endpoints и Managed Identities.

Важно

  • Всегда минимизируйте привилегии SAS и проверяйте время жизни ключей.
  • Тестируйте сценарии под реальной нагрузкой до продакшен-развертывания.

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

Вопрос: Когда лучше использовать Azure Table, а когда Cosmos DB?

Azure Table подходит для простых NoSQL-сценариев с ключ-значение доступом и низкой ценой. Cosmos DB нужен, если требуются сложные запросы, низкая задержка на глобальном масштабе, транзакции и гибкие модели консистентности.

Вопрос: Что выбрать для гарантированной упорядоченности сообщений?

Storage Queues не гарантируют строгой FIFO. Для упорядоченной доставки и более сложных сценариев лучше использовать Azure Service Bus (Queues/Topics) с поддержкой сессий и транзакций.

Вопрос: Как сократить риск утечки с помощью SAS?

Используйте короткие сроки действия SAS, ограничение IP, минимальные права и храните генерацию SAS в защищённых системах (Key Vault / Azure Functions с Managed Identity).


Спасибо за внимание. В приложении — чек-листы и шаблоны команд для быстрого старта.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Herodotus: механизм и защита Android‑трояна
Кибербезопасность

Herodotus: механизм и защита Android‑трояна

Включить новое меню «Пуск» в Windows 11
Windows руководство

Включить новое меню «Пуск» в Windows 11

Панель полей сводной таблицы в Excel — руководство
Excel

Панель полей сводной таблицы в Excel — руководство

Включить новое меню «Пуск» в Windows 11
Windows 11

Включить новое меню «Пуск» в Windows 11

Дубликаты Диспетчера задач в Windows 11 — как исправить
Windows

Дубликаты Диспетчера задач в Windows 11 — как исправить

История просмотров Reels в Instagram — как найти
Instagram

История просмотров Reels в Instagram — как найти