Azure Blob Storage 集成#
Azure Blob Storage 集成将你的存储账户容器连接到 Ultralytics Platform。你的图片保留在你的容器中 —— Platform 会就地为其建立索引,因此你无需上传副本即可浏览、标注和训练 YOLO 模型。
Azure Blob Storage 数据集需要 Pro 或 Enterprise plan。免费工作区可以看到集成,并在连接时提示升级。如果订阅结束,现有的 Azure Blob Storage 数据集仍可完全访问 —— 只有新连接和导入才需要 Pro。
获取连接字符串#
平台仅从你的存储中进行读取——它绝不会写入、修改或删除你的 blob。当前的集成需要一个账户访问密钥连接字符串,尽管平台仅使用列表(list)和读取(read)操作,但该字符串会授予账户级的特权:
- 在 Azure 门户中,打开你的存储账户。
- 转到 Security + networking > Access keys(安全+网络 > 访问密钥)。
- 复制一个 connection string(连接字符串)。
该字符串必须带有 AccountName、AccountKey 且协议为 HTTPS——即 Azure 在访问密钥 (Access keys) 下提供给你的格式。包含 SharedAccessSignature 而非 AccountKey 的 SAS 令牌连接字符串将被拒绝。
连接使用标准 blob.core.windows.net 端点。不支持主权云(Azure China、Azure Government)和自定义 blob 端点。
连接到 Platform#
- 前往设置 > 集成,并在集成列表中选择 Azure Blob Storage。
- 粘贴连接字符串。
- 点击 Find available containers,然后选择要连接的容器。你也可以手动输入容器名称。
- 点击 Connect(连接)。平台在保存任何内容之前,会验证其是否可以列出并读取每个选定的容器。

连接云存储需要工作空间管理员或所有者角色。单个连接最多可承载 50 个容器,且发现功能在存储账户中最多列出 300 个容器。
稍后重新连接同一个存储账户会将新容器添加到现有集成中。仅当替换后的凭据仍然可以读取你已连接的所有容器时,已保存的凭据才会被替换。
如果账户密钥在 Platform 之外泄露,它可能会授权写入和删除操作或创建 SAS 令牌。凭据在静态存储时使用 AES-256-GCM 进行加密,绝不会返回给浏览器,也绝不会暴露给训练工作负载。请在可行的情况下使用专用的存储账户。要撤销访问权限,请在 Azure 中轮换存储账户访问密钥。
从 Blob 容器创建数据集#
- 点击新建数据集并打开云端标签页。
- 选择一个已连接的容器并浏览到包含你数据的文件夹。
- 确认文件夹,调整数据集名称,然后创建数据集。
Platform 会列出文件夹一次并索引其发现的内容:
- Images —
.jpg、.jpeg、.png、.webp和.avifblob 通过有界请求读取的尺寸进行索引。Platform 不会保留源图片的第二个副本。 - Labels — YOLO
.txt附属文件会被解析为 Platform 标注,通过标准的images/→labels/布局进行匹配,或者作为同一文件夹下的同级文件匹配。 - 元数据 — YAML 文件提供类别名称和姿态关键点形状,这与存档上传完全一样。当文件夹中包含多个文件时,优先使用
data.yaml和data.yml。 - 任务 — 标签文件的样本决定了任务类型,因此分割、姿态和 OBB 文件夹是根据其标签形状识别的,而不是根据你在对话框中选择的任务识别的。
- Splits — blob 路径中的
train、val和test文件夹名称会自动分配拆分。
该数据集随后表现得与其他数据集一样:你可以浏览并标注它、将其设为公开或私有、与团队共享,并通过托管训练在其上进行训练。原始内容按需流式传输,且索引后的图片不会消耗你的 Platform存储配额。
单次导入最多可索引 50,000 个 blob,标签或 YAML 文件每个最多 1 MB。较大的容器应拆分为多个数据集。
每个已索引的图像都会固定在其 blob ETag 上,如果 blob 在后台发生变化,平台会失败以确保安全。请添加新的 blob,而不是覆盖现有文件。
导入失败#
如果导入失败(例如空文件夹、路径拼写错误或权限被撤销),数据集页面会显示错误。编辑者可以点击 Retry import(重试导入),使用存储的容器和文件夹重新启动,或者创建一个指向已更正路径的新数据集。
重试会重新列出文件夹而不是恢复:自第一次尝试以来添加的-blob 会被纳入,而不再存在的-blob 则会从数据集中丢弃。
训练#
托管训练通过正常的训练流程运行。训练在运行期间使用 Platform 自身的固定图像副本,并且你的 Azure 凭据绝不会暴露给训练工作负载。
断开连接#
断开连接会删除存储的连接字符串,而不会触及 Azure 中的任何内容。从这些容器构建的数据集会保留在你的工作空间中,其类别、标签和标注也依然存在,但在重新连接相同的存储账户之前,无法加载、预览或使用这些图像进行训练。
使用带有 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 拥有你的图片副本的功能:自动标注、clustering analysis、数据集克隆以及不可变的 version snapshots。
删除 Azure 支持的数据集或其中的单个图像仅会移除平台的引用——你的 blob 绝不会被触及。
另请参阅 Google Cloud Storage 和 Amazon S3 集成。