Amazon S3 集成#
Amazon S3 集成将你的 S3 存储桶连接到 Ultralytics Platform。你的图片仍保留在你的存储桶中——Platform 会就地对其进行索引,因此你可以直接浏览、标注和训练 YOLO 模型,而无需上传副本。
Amazon S3 数据集需要 Pro or Enterprise plan。免费工作区会看到该集成,并在连接时提示升级。如果订阅结束,现有的 Amazon S3 数据集仍可完全访问——只有新连接和导入才需要 Pro。
创建只读 IAM 用户#
Platform 始终只读取你的存储——它绝不会写入、修改或删除你的对象。请使用仅具有列出和读取权限的专用 IAM user——切勿使用根凭据:
-
在 AWS 控制台中,前往 IAM > 用户 并创建一个没有控制台访问权限的用户。
-
附加一个仅授予对你想要连接的存储桶进行列出和读取权限的策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Effect": "Allow", "Action": ["s3:ListBucket", "s3:GetObject"], "Resource": ["arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*"] } ] }s3:ListAllMyBuckets是可选的——它允许 Platform 发现你的存储桶,这样你就不用手动输入它们的名称了。 -
打开用户的 安全凭证 选项卡,创建一个 访问密钥,并复制访问密钥 ID 和私有访问密钥。
连接到 Platform#
- 前往 Settings > Integrations 并从集成列表中选择 Amazon S3。
- 输入访问密钥 ID、秘密访问密钥和存储桶区域(例如
us-east-1)。 - 点击 Find available buckets,然后选择要连接的存储桶。如果策略不允许发现,请手动输入已知的存储桶名称。
- 点击 Connect。Platform 在保存任何内容之前会验证它是否可以列出并读取每个选定的存储桶。

稍后重新连接同一个 IAM 用户会将新存储桶添加到现有集成中。只有当替换后的凭证仍然可以读取你已经连接的所有存储桶时,才会替换已保存的凭证。
一个连接会读取你所输入区域内的存储桶。如果你的存储桶位于多个区域,请为每个区域建立一个连接。
凭证在存储时会使用 AES-256-GCM 加密,绝不会返回给浏览器,也不会进入训练作业载荷中。若要撤销访问权限,请在 AWS IAM 中停用该访问密钥。
从 S3 存储桶创建数据集#
- 点击 New Dataset 并打开 Cloud storage 选项卡。
- 选择一个已连接的存储桶并浏览到包含你数据的文件夹。
- 确认文件夹,调整数据集名称,然后创建数据集。
Platform 会列出文件夹一次并索引其发现的内容:
- Images —
.jpg、.jpeg、.png、.webp和.avif对象通过有界请求读取尺寸进行索引。Platform 不会保留源图片的第二份副本。 - Labels — YOLO
.txt附属文件会被解析为 Platform 标注,通过标准的images/→labels/布局进行匹配,或者作为同一文件夹下的同级文件匹配。 - Metadata —
data.yaml/data.yml提供类别名称、任务类型和姿态关键点形状,其效果与存档上传完全相同。 - Splits——对象键中的
train、val和test文件夹名称会自动分配拆分。
该数据集随后表现得与其他数据集一样:你可以浏览并标注它、将其设为公开或私有、与团队共享,并通过托管训练在其上进行训练。原始内容按需流式传输,且索引后的图片不会消耗你的 Platform存储配额。
单次导入可索引多达 50,000 个对象,标签或 YAML 文件每个最大 1 MB。更大的存储桶应拆分到多个数据集中。
每个索引图像都会绑定到其 S3 对象 ETag,如果对象在其下方发生更改,Platform 将会停止运行。请添加新对象,而不是覆盖现有对象。
导入失败#
如果导入失败(如文件夹为空、路径拼写错误或权限被撤销),数据集会在其页面上显示错误。编辑者可以点击 Retry import 以使用已存储的存储桶和文件夹重新启动,或者创建一个指向更正路径的新数据集。
训练#
托管训练通过常规训练流程进行。Worker 会将绑定的原始数据下载到作业的临时存储中以进行运行,并在作业清理时将其删除——你的 AWS 凭证绝不会到达计算端。
当前限制#
S3 支持的数据集目前不包含需要 Platform 拥有图片副本的功能:自动标注、clustering analysis、数据集克隆以及不可变的 version snapshots。
删除基于 S3 的数据集或其中的单个图像仅会移除 Platform 的引用——你的对象绝不会被触及。
另请参阅 Google Cloud Storage 和 Azure Blob Storage 集成。