Intégration Amazon S3#
L’intégration Amazon S3 connecte tes compartiments S3 à Ultralytics Platform. Tes images restent dans tes compartiments — Platform les indexe sur place, pour que tu puisses parcourir, annoter et entraîner des modèles YOLO sans en téléverser de copie.
Les jeux de données Amazon S3 nécessitent un forfait Pro ou Enterprise. Les espaces de travail gratuits voient l’intégration et sont invités à passer à un forfait supérieur au moment de la connexion. Les jeux de données Amazon S3 existants restent entièrement accessibles si un abonnement prend fin — seules les nouvelles connexions et importations nécessitent Pro.
Créer un utilisateur IAM en lecture seule#
Platform ne fait que lire les données de ton stockage — elle n’écrit, ne modifie ni ne supprime jamais tes objets. Utilise un utilisateur IAM dédié disposant uniquement d’un accès en lecture et de l’autorisation de lister les objets — n’utilise jamais les identifiants du compte root :
-
Dans la console AWS, va dans IAM > Users et crée un utilisateur sans accès à la console.
-
Associe une politique qui accorde uniquement des droits de lecture et de listage sur les compartiments que tu veux connecter :
{ "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:ListAllMyBucketsest facultatif — il permet à Platform de détecter tes compartiments, pour que tu n’aies pas à saisir leurs noms. -
Ouvre l’onglet Security credentials de l’utilisateur, crée une access key, puis copie l’ID de la clé d’accès et la clé d’accès secrète.
Platform rejette les identifiants AWS temporaires. Les clés émises par AWS STS — y compris celles qui commencent par ASIA, les identifiants de session de rôle et les clés IAM Identity Center — expirent alors qu’un jeu de données est encore connecté ; une clé d’accès à longue durée de validité appartenant à un utilisateur IAM dédié est donc nécessaire.
Se connecter à Platform#
- Va dans Settings > Integrations et sélectionne Amazon S3 dans la liste des intégrations.
- Saisis l’ID de la clé d’accès, la clé d’accès secrète et la région du compartiment (par exemple
us-east-1). - Clique sur Find available buckets, puis sélectionne les compartiments à connecter. Si la politique n’autorise pas leur détection, saisis manuellement le nom d’un compartiment connu.
- Clique sur Connecter. Avant d’enregistrer quoi que ce soit, Platform vérifie qu’elle peut lister et lire chaque bucket sélectionné.

Tu dois avoir le rôle d’administrateur ou de propriétaire de l’espace de travail pour connecter un stockage cloud. Une connexion peut inclure jusqu’à 50 compartiments, et la détection en répertorie jusqu’à 300 parmi ceux auxquels la clé donne accès.
Reconnecter ultérieurement le même utilisateur IAM ajoute de nouveaux compartiments à l’intégration existante. Un identifiant enregistré n’est remplacé que lorsque son remplaçant peut toujours lire tous les compartiments que tu as déjà connectés.
Une connexion lit les compartiments de la région que tu indiques. Si tes compartiments se trouvent dans plusieurs régions, crée une connexion par région.
Les identifiants sont chiffrés au repos avec AES-256-GCM, ne sont jamais renvoyés au navigateur et ne sont jamais exposés aux charges de travail d’entraînement. Pour révoquer l’accès, désactive la clé d’accès dans AWS IAM.
Créer un jeu de données à partir d’un compartiment S3#
- Clique sur Nouveau jeu de données, puis ouvre l’onglet Cloud.
- Choisis un bucket connecté, puis accède au dossier contenant tes données.
- Confirme le dossier, modifie le nom du jeu de données si nécessaire, puis crée le jeu de données.
Platform liste le contenu du dossier une seule fois et indexe les éléments trouvés :
- Images — Les objets
.jpg,.jpeg,.png,.webpet.avifsont indexés, et leurs dimensions sont lues au moyen de requêtes limitées. Platform ne conserve pas de seconde copie de l’image source. - Étiquettes — Les fichiers annexes YOLO
.txtsont analysés pour créer des annotations dans Platform, selon l’organisation standardimages/→labels/ou en tant que fichiers voisins dans le même dossier. - Métadonnées — Un fichier YAML fournit les noms des classes et la forme des points clés de pose, comme pour un téléversement d’archive. Les fichiers
data.yamletdata.ymlsont prioritaires si le dossier en contient plusieurs. - Tâche — Un échantillon des fichiers d’étiquettes détermine la tâche : les dossiers de segmentation, de pose et d’OBB sont donc reconnus d’après la forme de leurs étiquettes, et non selon la tâche choisie dans la boîte de dialogue.
- Sous-ensembles — les noms de dossiers
train,valettestdans la clé d’objet attribuent automatiquement les sous-ensembles.
Le jeu de données fonctionne ensuite comme n’importe quel autre : tu peux le parcourir, l’annoter, le rendre public ou privé, le partager avec ton équipe et l’utiliser pour l’entraînement géré. Les originaux sont transférés à la demande, et les images indexées ne consomment pas ton quota de stockage Platform.
Une seule importation peut indexer jusqu’à 500 000 objets, ainsi que des fichiers d’étiquettes ou YAML d’une taille maximale de 1 Mo chacun. Les buckets plus volumineux doivent être répartis entre plusieurs jeux de données.
Chaque image indexée est associée à l’ETag de son objet S3, et Platform adopte un comportement fermé en cas d’échec si un objet est modifié. Ajoute de nouveaux objets au lieu de remplacer ceux qui existent.
Échecs d’importation#
Si une importation échoue — dossier vide, erreur dans le chemin ou autorisations révoquées — le jeu de données affiche l’erreur sur sa page. Les éditeurs peuvent cliquer sur Réessayer l’importation pour la relancer avec le bucket et le dossier enregistrés, ou créer un nouveau jeu de données pointant vers le chemin corrigé.
Une nouvelle tentative reliste le dossier au lieu de reprendre l’importation : les objets ajoutés depuis la première tentative sont récupérés, et ceux qui ne s’y trouvent plus sont retirés du jeu de données.
Entraînement#
L’entraînement géré suit le flux d’entraînement habituel. Pendant toute la durée de l’exécution, l’entraînement utilise les propres copies de Platform des images associées, et tes identifiants AWS ne sont jamais exposés aux charges de travail d’entraînement.
Déconnecter une intégration#
La déconnexion supprime les identifiants enregistrés sans rien modifier dans AWS. Les jeux de données créés à partir de ces compartiments restent dans ton espace de travail avec leurs classes, étiquettes et annotations, mais leurs images ne peuvent pas être chargées, prévisualisées ni utilisées pour l’entraînement tant que le même utilisateur IAM n’est pas reconnecté.
Utilise l’API REST avec l’ID d’intégration renvoyé par GET /api/integrations/buckets :
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")Pour révoquer l’accès directement à la source, désactive ou supprime plutôt la clé d’accès dans AWS IAM.
Limites actuelles#
Les jeux de données adossés à S3 ne prennent actuellement pas en charge les fonctionnalités qui nécessitent que Platform possède des copies de tes images : l’annotation automatique, l’analyse par regroupement, le clonage de jeux de données et les instantanés de version immuables.
La suppression d’un jeu de données adossé à S3, ou d’images individuelles qu’il contient, supprime uniquement les références de Platform — tes objets ne sont jamais modifiés.
Voir aussi les intégrations Google Cloud Storage et Azure Blob Storage.
FAQ#
Non. Platform liste le bucket une seule fois et indexe les dimensions des images et les étiquettes qu’elle trouve. Les originaux sont transférés à la demande pour la navigation et l’annotation, et l’entraînement géré utilise les propres copies des images épinglées de Platform uniquement pendant la durée de l’exécution. Les images indexées ne sont pas décomptées de ton quota de stockage.
Un jeu de données est indexé une seule fois lors de sa création. Les nouveaux objets ne sont pas récupérés tant que tu n’as pas créé un nouveau jeu de données ou relancé une importation échouée, et chaque image indexée est associée à sa version : si tu remplaces un objet, Platform bloque l’accès à cette image. Ajoute de nouveaux objets au lieu de remplacer ceux qui existent déjà.
Les fonctionnalités qui nécessitent que Platform possède des copies de tes images ne sont pas disponibles sur les jeux de données connectés : l’annotation automatique, l’analyse de regroupement, le clonage de jeux de données et les instantanés de version immuables. L’annotation manuelle, le partage et l’entraînement fonctionnent normalement.
Déconnecte l’intégration dans Settings > Integrations pour supprimer les identifiants enregistrés, ou désactive ou supprime la clé d’accès dans AWS IAM. Aucune de ces actions ne modifie les données de tes compartiments.