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로 이동합니다.
- connection string을 복사합니다.
문자열에는 Azure가 Access
keys에서 제공하는 형식에 따라 AccountName, AccountKey 및 HTTPS가 프로토콜로 포함되어야 합니다. AccountKey 대신 SharedAccessSignature를 포함하는 SAS 토큰 연결 문자열은 거부됩니다.
연결에는 표준 blob.core.windows.net 엔드포인트가 사용됩니다. 소버린 클라우드(Azure China, Azure Government) 및 사용자 지정 blob 엔드포인트는 지원되지 않습니다.
Platform에 연결#
- **Settings > Integrations**로 이동한 다음 통합 목록에서 Azure Blob Storage를 선택합니다.
- 연결 문자열을 붙여 넣습니다.
- Find available containers를 클릭한 다음 연결할 컨테이너를 선택합니다. 컨테이너 이름을 수동으로 입력할 수도 있습니다.
- Connect를 클릭합니다. Platform은 저장하기 전에 선택한 각 컨테이너를 나열하고 읽을 수 있는지 확인합니다.

클라우드 스토리지를 연결하려면 워크스페이스 관리자 또는 소유자 역할이 필요합니다. 하나의 연결에는 최대 50개의 컨테이너를 포함할 수 있으며, 검색 시 스토리지 계정에서 최대 300개의 컨테이너가 나열됩니다.
나중에 동일한 스토리지 계정을 다시 연결하면 기존 통합에 새 컨테이너가 추가됩니다. 저장된 자격 증명은 교체 자격 증명이 이미 연결한 모든 컨테이너를 계속 읽을 수 있는 경우에만 교체됩니다.
계정 키가 Platform 외부에 노출되면 쓰기 및 삭제 작업을 승인하거나 SAS 토큰을 생성하는 데 사용될 수 있습니다. 자격 증명은 저장 시 AES-256-GCM으로 암호화되며, 브라우저에 반환되지 않고 학습 워크로드에도 노출되지 않습니다. 가능한 경우 전용 스토리지 계정을 사용합니다. 액세스를 취소하려면 Azure에서 스토리지 계정 액세스 키를 순환합니다.
Blob 컨테이너에서 데이터셋 생성#
- New Dataset을 클릭하고 Cloud 탭을 엽니다.
- 연결된 컨테이너를 선택하고 데이터가 포함된 폴더로 이동합니다.
- 폴더를 확인하고 데이터셋 이름을 조정한 다음 데이터셋을 생성합니다.
Platform은 폴더를 한 번 나열한 후 검색된 항목을 인덱싱합니다:
- Images —
.jpg,.jpeg,.png,.webp및.avifblob은 제한된 요청을 통해 읽은 크기 정보와 함께 인덱싱됩니다. Platform은 원본 이미지의 두 번째 사본을 저장하지 않습니다. - Labels — YOLO
.txt사이드카는 Platform 주석으로 파싱되며, 표준images/→labels/레이아웃 또는 동일 폴더의 형제 파일 구조를 기준으로 매칭됩니다. - Metadata — YAML 파일은 아카이브 업로드와 동일하게 클래스 이름과 pose keypoint 형상을 제공합니다. 폴더에 여러 파일이 있는 경우
data.yaml및data.yml가 우선 사용됩니다. - Task — 레이블 파일 샘플을 통해 task가 결정되므로, 대화 상자에서 선택한 task가 아니라 레이블 형상에 따라 segment, pose 및 OBB 폴더가 인식됩니다.
- Splits — blob 경로에 있는
train,val및test폴더 이름에 따라 분할이 자동으로 할당됩니다.
이후 데이터셋은 다른 데이터셋과 동일하게 작동합니다. 데이터셋을 탐색하고 주석을 추가하며, 공개 또는 비공개로 설정하고, 팀과 공유하고, 관리형 학습을 통해 학습할 수 있습니다. 원본은 필요할 때 스트리밍되며 인덱싱된 이미지는 Platform 스토리지 할당량을 사용하지 않습니다.
한 번의 가져오기 작업에서는 최대 50,000개의 blob과 각각 최대 1MB인 label 또는 YAML 파일을 인덱싱합니다. 더 큰 컨테이너는 여러 데이터셋으로 분할해야 합니다.
인덱싱된 모든 이미지는 blob ETag에 고정되며, blob이 변경되면 Platform은 작업을 안전하게 중단합니다. 기존 blob을 덮어쓰지 말고 새 blob을 추가합니다.
가져오기 실패#
가져오기에 실패하면(빈 폴더, 경로 오타 또는 취소된 권한 등) 데이터셋 페이지에 오류가 표시됩니다. 편집자는 Retry import를 클릭하여 저장된 컨테이너와 폴더를 사용해 다시 시작하거나, 수정된 경로를 가리키는 새 데이터셋을 생성할 수 있습니다.
재시도 시 작업을 재개하는 대신 폴더를 다시 나열합니다. 첫 번째 시도 이후 추가된 blob은 포함되고 더 이상 존재하지 않는 blob은 데이터셋에서 제거됩니다.
학습#
관리형 학습은 일반 학습 플로우를 통해 수행됩니다. 학습 중에는 실행이 지속되는 동안 고정된 이미지의 Platform 자체 사본이 사용되며, Azure 자격 증명은 학습 워크로드에 절대 노출되지 않습니다.
연결 해제#
연결을 해제하면 Azure의 어떤 항목도 건드리지 않고 저장된 연결 문자열이 삭제됩니다. 해당 컨테이너에서 생성된 데이터셋은 클래스, label 및 어노테이션과 함께 워크스페이스에 유지되지만, 동일한 스토리지 계정을 다시 연결할 때까지 이미지를 로드하거나 미리 보거나 학습에 사용할 수 없습니다.
GET /api/integrations/buckets에서 반환된 통합 ID를 사용하여 REST API를 호출합니다:
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 통합도 참조하십시오.
FAQ#
아니요. Platform은 컨테이너를 한 번 나열하고 발견된 이미지 크기와 레이블을 색인화합니다. 원본은 찾아보기 및 주석 작업을 위해 필요에 따라 스트리밍되며, 관리형 학습은 실행 기간 동안에만 고정된 이미지의 Platform 자체 복사본을 사용하여 수행됩니다. 색인화된 이미지는 스토리지 할당량에 포함되지 않습니다.
데이터셋은 생성될 때 한 번 인덱싱됩니다. 새 데이터셋을 만들거나 실패한 가져오기를 다시 시도할 때까지 새 객체가 반영되지 않으며, 인덱싱된 모든 이미지는 해당 버전에 고정되므로 객체를 덮어쓰면 Platform은 해당 이미지에 대해 안전하게 실패 처리(fail closed)합니다. 기존 객체를 바꾸는 대신 새 객체를 추가하세요.
**설정 > 통합(Settings > Integrations)**에서 통합을 해제하여 저장된 자격 증명을 삭제하거나, Azure에서 스토리지 계정 액세스 키를 교체하세요. 두 작업 모두 컨테이너의 데이터에는 영향을 미치지 않습니다.