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

Чтобы подключить облачное хранилище, тебе нужна роль администратора или владельца рабочего пространства. Одно подключение позволяет использовать до 50 контейнеров, а при поиске отображаются до 300 контейнеров в учетной записи хранилища.
Если позже повторно подключить ту же учетную запись хранилища, новые контейнеры добавятся в существующую интеграцию. Сохраненные учетные данные заменяются только в том случае, если новые учетные данные по-прежнему позволяют считывать данные из всех уже подключенных контейнеров.
Если ключ учетной записи окажется за пределами Platform, с его помощью можно выполнять операции записи и удаления или создавать токены SAS. Учетные данные шифруются в состоянии покоя с помощью AES-256-GCM, никогда не передаются браузеру и не раскрываются рабочим нагрузкам обучения. По возможности используй выделенную учетную запись хранилища. Чтобы отозвать доступ, смени ключи доступа к учетной записи хранилища в Azure.
Создание набора данных из контейнера Blob#
- Нажми New Dataset и открой вкладку Cloud.
- Выбери подключенный контейнер и перейди в папку с данными.
- Подтверди выбор папки, при необходимости измени имя набора данных и создай его.
Platform один раз просматривает содержимое папки и индексирует найденные данные:
- Изображения — блобы
.jpg,.jpeg,.png,.webpи.avifиндексируются, а их размеры считываются с помощью ограниченных по объему запросов. Platform не сохраняет вторую копию исходного изображения. - Метки — файлы
.txtв формате YOLO преобразуются в аннотации Platform и сопоставляются по стандартной структуреimages/→labels/либо с файлами в той же папке. - Метаданные — YAML-файл содержит имена классов и форму ключевых точек позы, как и при загрузке архива. Если в папке несколько таких файлов, предпочтение отдаётся
data.yamlиdata.yml. - Задача — тип задачи определяется по выборке файлов с метками, поэтому папки для сегментации, оценки позы и OBB распознаются по структуре меток, а не по задаче, выбранной в диалоговом окне.
- Разбиение на выборки — имена папок
train,valиtestв пути к блобу автоматически назначают выборки.
Дальше с набором данных можно работать как с любым другим: просматривать и размечать его, делать общедоступным или закрытым, делиться им со своей командой и обучать на его данных с помощью управляемого обучения. Оригиналы передаются по запросу, а индексированные изображения не расходуют квоту хранилища Platform.
За один импорт можно проиндексировать до 500 000 блобов, а размер каждого файла меток или YAML-файла не должен превышать 1 МБ. Большие контейнеры следует разделять между несколькими наборами данных.
Каждое индексированное изображение закрепляется за ETag своего блоба, и Platform безопасно прекращает работу, если блоб изменяется. Добавляй новые блобы, а не перезаписывай существующие.
Неудачный импорт#
Если импорт завершается с ошибкой — например, папка пуста, в пути опечатка или разрешения отозваны, — ошибка отображается на странице набора данных. Редакторы могут нажать Повторить импорт, чтобы запустить его заново с сохраненными контейнером и папкой, или создать новый набор данных с исправленным путем.
При повторной попытке список папки формируется заново, а не продолжается с места остановки: добавленные с первой попытки блобы будут включены, а отсутствующие в папке блобы будут удалены из набора данных.
Обучение#
Для управляемого обучения используется обычный процесс обучения. Во время обучения 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.
Часто задаваемые вопросы#
Нет. Platform один раз просматривает список контейнера и индексирует размеры и метки найденных изображений. Исходные изображения передаются по запросу для просмотра и разметки, а при управляемом обучении используются только собственные копии закрепленных изображений Platform и только на время запуска. Индексированные изображения не учитываются в твоей квоте хранилища.
Набор данных индексируется один раз при создании. Новые объекты не будут обнаружены, пока ты не создашь новый набор данных или не повторишь неудачный импорт; каждое индексированное изображение привязано к своей версии, поэтому при перезаписи объекта Platform перестанет работать с этим изображением. Добавляй новые объекты, а не заменяй существующие.
В подключённых наборах данных недоступны функции, для которых нужны копии изображений в Platform: авторазметка, кластерный анализ, клонирование набора данных и неизменяемые снимки версий. Ручная разметка, совместный доступ и обучение работают как обычно.
Отключи интеграцию в разделе Настройки > Интеграции, чтобы удалить сохраненные учетные данные, или смени ключи доступа к учетной записи хранилища в Azure. Ни одно из этих действий не затрагивает данные в твоих контейнерах.