YOLO Vision 2026:

Amazon S3 Integration#

Die Amazon S3-Integration verbindet deine S3-Buckets mit der Ultralytics Platform. Deine Bilder bleiben in deinen Buckets — die Platform indexiert sie direkt vor Ort, sodass du YOLO-Modelle durchsuchen, annotieren und trainieren kannst, ohne eine Kopie hochzuladen.

Pro-Funktion

Amazon S3-Datensätze erfordern einen Pro- oder Enterprise-Tarif. Kostenlose Arbeitsbereiche sehen die Integration und werden beim Verbinden aufgefordert, ein Upgrade durchzuführen. Bestehende Amazon S3-Datensätze bleiben bei Ablauf eines Abonnements voll zugänglich — nur neue Verbindungen und Importe erfordern Pro.

Erstelle einen schreibgeschützten IAM-Benutzer#

Die Platform liest immer nur aus deinem Speicher — sie schreibt, modifiziert oder löscht deine Objekte niemals. Verwende einen dedizierten IAM-Benutzer mit reinem Listen- und Lesezugriff — verwende niemals Root-Anmeldeinformationen:

  1. Gehe in der AWS-Konsole zu IAM > Users und erstelle einen Benutzer ohne Konsolenzugriff.

  2. Füge eine Richtlinie hinzu, die nur Listen- und Lesezugriff auf die Buckets gewährt, die du verbinden möchtest:

    {
        "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 ist optional — damit kann die Platform deine Buckets entdecken, sodass du deren Namen nicht eingeben musst.

  3. Öffne den Reiter Security credentials des Benutzers, erstelle einen access key und kopiere die access key ID sowie den secret access key.

Nur langlebige IAM-Benutzerschlüssel

Die Plattform lehnt temporäre AWS-Anmeldeinformationen ab. Von AWS STS ausgegebene Schlüssel – einschließlich allem, was mit ASIA beginnt, Rollensitzungsanmeldeinformationen und IAM Identity Center-Schlüsseln – laufen ab, während ein Dataset noch verbunden ist, weshalb der langlebige Zugriffsschlüssel eines dedizierten IAM-Benutzers erforderlich ist.

Verbindung zur Platform herstellen#

  1. Gehe zu Settings > Integrations und wähle Amazon S3 aus der Integrationsliste aus.
  2. Gib die Zugriffsschlüssel-ID (Access Key ID), den geheimen Zugriffsschlüssel (Secret Access Key) und die Bucket-Region ein (zum Beispiel us-east-1).
  3. Klicke auf Find available buckets und wähle dann die zu verbindenden Buckets aus. Wenn die Richtlinie die Erkennung nicht zulässt, gib einen bekannten Bucket-Namen manuell ein.
  4. Klicke auf Connect. Die Platform prüft, ob sie jeden ausgewählten Bucket auflisten und lesen kann, bevor sie irgendetwas speichert.

Ultralytics Platform Amazon S3 Integration Settings

Du benötigst die Rolle als Workspace-Administrator oder -Inhaber, um Cloud-Speicher zu verbinden. Eine Verbindung umfasst bis zu 50 Buckets, und die Erkennung listet bis zu 300 der Buckets auf, die der Schlüssel sehen kann.

Das erneute Verbinden desselben IAM-Benutzers fügt später neue Buckets zur bestehenden Integration hinzu. Ein gespeicherter Anmeldeinformationssatz wird erst dann ersetzt, wenn der Ersatz weiterhin jeden bereits verbundenen Bucket lesen kann.

Eine Region pro Verbindung

Eine Verbindung liest Buckets in der von dir eingegebenen Region. Wenn deine Buckets in mehreren Regionen liegen, verbinde sie einmal pro Region.

Sicherheit der Anmeldedaten

Anmeldeinformationen werden im Ruhezustand mit AES-256-GCM verschlüsselt, niemals an den Browser zurückgegeben und niemals Training-Workloads ausgesetzt. Um den Zugriff zu widerrufen, deaktiviere den Zugriffsschlüssel in AWS IAM.

Erstelle einen Datensatz aus einem S3-Bucket#

  1. Klicke auf New Dataset und öffne den Tab Cloud.
  2. Wähle einen verbundenen Bucket aus und navigiere zu dem Ordner, der deine Daten enthält.
  3. Bestätige den Ordner, passe den Datensatznamen an und erstelle den Datensatz.

Die Plattform listet den Ordner einmalig auf und indiziert die gefundenen Inhalte:

  • Images – Die Objekte .jpg, .jpeg, .png, .webp und .avif werden mit Abmessungen indiziert, die über begrenzte Anfragen gelesen werden. Die Platform speichert keine zweite Kopie des Quellbildes dauerhaft.
  • Labels – YOLO-.txt-Begleitdateien werden in Platform-Annotationen geparst, abgeglichen über das Standardlayout images/labels/ oder als Geschwisterelemente im selben Ordner.
  • Metadata — eine YAML-Datei stellt Klassennamen und die Form von Pose-Keypoints bereit, genau wie ein Archiv-Upload. data.yaml und data.yml werden bevorzugt, wenn der Ordner mehrere enthält.
  • Task — ein Ausschnitt der Label-Dateien bestimmt die Aufgabe, sodass Segment-, Pose- und OBB-Ordner anhand ihrer Label-Form anstatt der im Dialog ausgewählten Aufgabe erkannt werden.
  • Splits — Ordnernamen wie train, val und test im Objekt-Key weisen Splits automatisch zu.

Der Datensatz verhält sich dann wie jeder andere: Durchsuche und annotiere ihn, setze ihn auf öffentlich oder privat, teile ihn mit deinem Team und trainiere über verwaltetes Training darauf. Originale werden bei Bedarf gestreamt, und indizierte Bilder verbrauchen dein Platform-Speicherkontingent nicht.

Einschränkungen

Ein einzelner Import indexiert bis zu 50.000 Objekte und Label- oder YAML-Dateien bis zu 1 MB pro Datei. Größere Buckets sollten auf mehrere Datensätze aufgeteilt werden.

Indizierte Objekte unveränderlich halten

Jedes indizierte Bild ist an sein S3-Objekt-ETag gebunden, und die Platform bricht den Vorgang ab, falls sich ein Objekt darunter verändert. Füge neue Objekte hinzu, anstatt bestehende zu überschreiben.

Fehlgeschlagene Importe#

Wenn ein Import fehlschlägt – ein leerer Ordner, ein Tippfehler im Pfad oder widerrufene Berechtigungen – zeigt der Datensatz den Fehler auf seiner Seite an. Editoren können auf Retry import klicken, um ihn mit dem gespeicherten Bucket und Ordner neu zu starten oder einen neuen Datensatz zu erstellen, der auf den korrigierten Pfad zeigt.

Ein erneuter Versuch listet den Ordner neu auf, anstatt fortzufahren: Seit dem ersten Versuch hinzugefügte Objekte werden berücksichtigt, und nicht mehr vorhandene Objekte werden aus dem Dataset entfernt.

Training#

Das verwaltete Training erfolgt über den normalen Training-Ablauf. Das Training verwendet für die Dauer des Laufs plattformeigene Kopien der angehefteten Bilder, und deine AWS-Anmeldeinformationen werden niemals Training-Workloads ausgesetzt.

Eine Verbindung trennen#

Das Trennen der Verbindung löscht die gespeicherten Anmeldeinformationen, ohne etwas in AWS zu berühren. Aus diesen Buckets erstellte Datasets verbleiben mit ihren Klassen, Labels und Annotationen in deinem Workspace, aber ihre Bilder können erst dann geladen, in der Vorschau angezeigt oder zum Training verwendet werden, wenn derselbe IAM-Benutzer wieder verbunden wird.

Verwende die REST API mit der von GET /api/integrations/buckets zurückgegebenen Integrations-ID:

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")

Um den Zugriff stattdessen an der Quelle zu widerrufen, deaktiviere oder lösche den Zugriffsschlüssel in AWS IAM.

Aktuelle Einschränkungen#

S3-basierte Datensätze schließen derzeit Funktionen aus, die von der Platform verwaltete Kopien deiner Bilder erfordern: Auto-Annotation, Cluster-Analyse, Datensatz-Klonen und unveränderliche Versions-Snapshots.

Das Löschen eines S3-basierten Datensatzes oder einzelner Bilder daraus entfernt nur die Referenzen der Platform – deine Objekte werden niemals berührt.

Siehe auch die Integrationen für Google Cloud Storage und Azure Blob Storage.

Mitwirkende

Kommentare