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

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