Интеграция с Azure Blob Storage#
Интеграция Azure Blob Storage подключает контейнеры твоего аккаунта хранения к Ultralytics Platform. Твои изображения остаются в твоих контейнерах — Platform индексирует их на месте, поэтому ты можешь просматривать, аннотировать и обучать модели YOLO без загрузки копии.
Для датасетов Azure Blob Storage требуется план Pro или Enterprise. В бесплатных воркспейсах интеграция отображается с предложением обновить тариф при подключении. Существующие датасеты Azure Blob Storage остаются полностью доступными при окончании подписки — тариф Pro требуется только для новых подключений и импорта.
Получи строку подключения#
Platform только читает данные из твоего хранилища — она никогда не записывает, не изменяет и не удаляет твои блобы. Текущая интеграция требует строку подключения с ключом доступа к учетной записи, которая предоставляет привилегии на уровне всей учетной записи, хотя Platform использует только операции просмотра списка и чтения:
- На портале Azure открой свою учетную запись хранения.
- Перейди в Security + networking > Access keys (Безопасность и сеть > Ключи доступа).
- Скопируй connection string (строку подключения).
Строка должна содержать AccountName, AccountKey и HTTPS в качестве протокола — форму, которую Azure предоставляет в разделе Access
keys. Строки подключения с SAS-токенами, содержащие SharedAccessSignature вместо AccountKey, отклоняются.
Для подключений используется стандартный эндпоинт blob.core.windows.net. Суверенные облака (Azure China, Azure Government) и кастомные эндпоинты blob не поддерживаются.
Подключение к Platform#
- Перейди в Settings > Integrations и выбери Azure Blob Storage из списка интеграций.
- Вставь строку подключения.
- Нажми Find available containers, а затем выбери контейнеры для подключения. Ты также можешь ввести имя контейнера вручную.
- Нажми Connect (Подключить). Перед сохранением данных Platform проверяет, может ли она просматривать список и читать каждый выбранный контейнер.

Для подключения облачного хранилища тебе необходима роль администратора или владельца рабочей области. Одно подключение поддерживает до 50 контейнеров, а функция обнаружения выводит список до 300 контейнеров в учетной записи хранения.
Повторное подключение к той же учетной записи хранения позже добавит новые контейнеры к существующей интеграции. Сохраненные учетные данные заменяются только тогда, когда новые учетные данные также могут прочитать каждый контейнер, который ты уже подключил.
Ключ учетной записи может авторизовать операции записи и удаления либо создавать SAS-токены, если он раскрыт за пределами Platform. Учетные данные шифруются в состоянии покоя с помощью AES-256-GCM, никогда не возвращаются в браузер и не передаются на рабочие нагрузки обучения. По возможности используй выделенную учетную запись хранения. Чтобы отозвать доступ, смени ключи доступа к учетной записи хранения в Azure.
Создай набор данных из контейнера блобов#
- Нажми New Dataset и открой вкладку Cloud.
- Выбери подключенный контейнер и перейди к папке, содержащей твои данные.
- Подтверди выбор папки, укажи название набора данных и создай его.
Platform просканирует папку один раз и проиндексирует найденное:
- Images — блекбы
.jpg,.jpeg,.png,.webpи.avifиндексируются с размерами, считываемыми через ограниченные запросы. Platform не сохраняет вторую копию исходного изображения. - Labels — сопутствующие файлы YOLO
.txtпреобразуются в аннотации Platform, сопоставляемые по стандартной структуреimages/→labels/или как файлы в той же папке. - Metadata — файл YAML задает имена классов и форму ключевых точек позы, точно так же, как при загрузке архива.
data.yamlиdata.ymlпредпочтительнее, если в папке их несколько. - Task — образец файлов разметки определяет задачу, поэтому папки segment, pose и OBB распознаются по форме их разметки, а не по задаче, выбранной в диалоговом окне.
- Splits — названия папок
train,valиtestв пути blob автоматически назначают сплиты.
После этого датасет ведет себя как любой другой: просматривай и размечай его, сделай его публичным или приватным, делись им со своей командой и обучайся на нем с помощью управляемого обучения. Оригиналы передаются по запросу в режиме реального времени, а проиндексированные изображения не расходуют твою квоту хранилища в Platform.
Один импорт индексирует до 50 000 блобов, а файлы меток или YAML — до 1 МБ каждый. Более крупные контейнеры следует разбивать на несколько наборов данных.
Каждое индексированное изображение привязано к своему ETag блоба, и Platform выдает ошибку, если блоб изменяется без ее ведома. Добавляй новые блобы вместо перезаписи существующих.
Ошибки импорта#
Если импорт завершается с ошибкой — пустая папка, опечатка в пути или отозванные права доступа — набор данных показывает ошибку на своей странице. Редакторы могут нажать Retry import (Повторить импорт), чтобы перезапустить его с сохраненным контейнером и папкой, или создать новый набор данных, указывающий на исправленный путь.
Повторная попытка производит повторный вывод списка содержимого папки, а не возобновление: блобы, добавленные с момента первой попытки, захватываются, а блобы, которых больше нет, удаляются из датасета.
Training#
Управляемое обучение работает через обычный рабочий процесс обучения. Во время выполнения обучения используются собственные копии закрепленных изображений Platform, а твои учетные данные Azure никогда не передаются на рабочие нагрузки обучения.
Отключение подключения#
Отключение удаляет сохраненную строку подключения, не затрагивая ничего в Azure. Датасеты, созданные на основе этих контейнеров, остаются в твоей рабочей области вместе со своими классами, метками и аннотациями, но их изображения нельзя загружать, просматривать или использовать для обучения до тех пор, пока та же учетная запись хранения не будет подключена снова.
Используй REST API с идентификатором интеграции, возвращаемым GET /api/integrations/buckets:
curl -X DELETE \
-H "Authorization: Bearer YOUR_API_KEY" \
https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_IDfrom ultralytics_platform import Platform
client = Platform() # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")Чтобы вместо этого отозвать доступ на стороне источника, смени ключи доступа к учетной записи хранения в Azure.
Текущие ограничения#
Датасеты на базе Azure в настоящее время не поддерживают функции, для которых требуются копии изображений на стороне Platform: автоаннотирование, кластерный анализ, клонирование датасета и неизменяемые версионные снимки.
Удаление набора данных на базе Azure или отдельных изображений из него удаляет только ссылки Platform — твои блобы никогда не затрагиваются.
Также ознакомься с интеграциями Google Cloud Storage и Amazon S3.