YOLO Vision 2026:

Azure Blob Storage 集成#

Azure Blob Storage 集成可将你的存储帐户容器连接到 Ultralytics Platform。你的图像会保留在容器中——Platform 会在原位置为其建立索引,因此你无需上传副本即可浏览、标注和训练 YOLO 模型。

Pro 功能

Azure Blob Storage 数据集需要专业版或企业版套餐。免费工作区可以看到该集成,但在连接时会提示升级。如果订阅结束,现有的 Azure Blob Storage 数据集仍可完全访问——只有新连接和导入需要专业版套餐。

获取连接字符串#

Platform 只会从你的存储中读取数据,绝不会写入、修改或删除你的 blob。当前集成需要使用帐户访问密钥连接字符串,该字符串授予帐户范围内的权限,尽管 Platform 只执行列出和读取操作:

  1. 在 Azure 门户中,打开你的存储帐户。
  2. 转到 安全性 + 网络 > 访问密钥
  3. 复制一个连接字符串

该字符串必须使用 AccountNameAccountKey 和 HTTPS 作为协议——也就是 Azure 在 访问 密钥下提供的格式。SAS 令牌连接字符串会使用 SharedAccessSignature,而不是 AccountKey,因此会被拒绝。

仅支持公共 Azure 云

连接使用标准的 blob.core.windows.net 终结点。不支持主权云(Azure 中国、Azure 政府)和自定义 blob 终结点。

连接到平台#

  1. 转到 设置 > 集成,然后从集成列表中选择 Azure Blob Storage
  2. 粘贴连接字符串。
  3. 点击 查找可用容器,然后选择要连接的容器。你也可以手动输入容器名称 。
  4. 点击 连接。Platform 会先验证自己能否列出并读取每个选定的容器,然后才保存任何内容。

Ultralytics Platform Azure Blob Storage 集成设置

你需要具备工作区管理员或所有者角色才能连接云存储。一次 连接最多可包含 50 个容器,发现功能会列出存储帐户中的最多 300 个容器。

稍后重新连接同一存储帐户时,会将新容器添加到现有集成中。只有在替换凭据仍能读取你已连接的所有容器后,保存的凭据才会被替换。

凭据安全

如果帐户密钥暴露在 Platform 之外,它可能授权写入和删除操作,或创建 SAS 令牌。凭据在静态存储时使用 AES-256-GCM 加密,不会返回到浏览器,也不会暴露给训练工作负载。实际可行时,请使用专用存储帐户。若要撤销访问权限,请在 Azure 中轮换存储帐户访问密钥。

从 Blob 容器创建数据集#

  1. 点击 New Dataset,然后打开 Cloud 标签页。
  2. 选择一个已连接的容器,然后浏览到包含数据的文件夹。
  3. 确认文件夹,调整数据集名称,然后创建数据集。

平台会列出该文件夹一次,并为找到的内容建立索引:

  • 图像.jpg.jpeg.png.webp.avif blob 会通过有界请求读取尺寸并建立索引。Platform 不会持久化源图像的第二个副本。
  • 标签 — YOLO .txt 伴随文件会被解析为平台标注,并按照标准的 images/labels/ 布局进行匹配,或与同一文件夹中的同级文件匹配。
  • 元数据 — YAML 文件提供类别名称和姿态关键点形状,处理方式与存档上传完全相同。当文件夹中有多个 YAML 文件时,优先使用 data.yamldata.yml
  • 任务 — 系统会根据标签文件样本确定任务,因此会依据标签形状识别分割、姿态和 OBB 文件夹,而不是使用你在对话框中选择的任务。
  • 划分 — blob 路径中的 trainvaltest 文件夹名称会自动分配数据集划分。

之后,该数据集的行为与其他数据集相同:你可以浏览并进行标注,将其设为公开或私有,与团队共享,并通过托管训练在其上进行训练。原始文件会按需流式传输,建立索引的图像不会占用你的平台存储配额

限制

单次导入最多可为 50,000 个 blob 建立索引,并处理每个不超过 1 MB 的标签或 YAML 文件。较大的容器应拆分到多个数据集中。

保持已建立索引的 blob 不可变

每个已建立索引的图像都会固定到其 blob ETag;如果 blob 在 Platform 使用期间发生变化,Platform 会安全地终止操作。请添加新的 blob,而不是覆盖现有 blob。

导入失败#

如果导入失败——例如文件夹为空、路径拼写错误或权限已被撤销——数据集会在其页面上显示错误。编辑者可以点击 重试导入,使用已存储的容器和文件夹重新开始,或者创建一个指向更正后路径的新数据集。

重试会重新列出文件夹,而不是继续之前的进度:自首次尝试以来添加的 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_ID
from 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 StorageAmazon S3 集成。

常见问题#

  • 不会。平台只列出容器一次,并为找到的图像尺寸和标签建立索引。原始图像按需流式传输以供浏览和标注,托管训练仅在运行期间使用平台自身保存的固定图像副本来进行。已索引的图像不计入你的存储配额

  • 数据集在创建时只会被索引一次。在新数据集创建或重试失败的导入之前,新对象不会被抓取,并且每个已索引的图片都固定在其版本上,因此覆盖对象会导致 Platform 对该图片采取故障安全(fail closed)处理。请添加新对象,而不是替换现有对象。

  • 在连接的数据集上,需要 Platform 拥有图片副本的功能会被排除:自动标注、聚类分析、数据集克隆和不可变的版本快照。手动标注、共享和训练均可正常进行。

  • Settings > Integrations 中断开集成以删除存储的凭据,或者在 Azure 中轮换存储账户访问密钥。这两个操作都不会影响你容器中的数据。

评论