Introduction
Une équipe stocke des documents financiers et de ressources humaines dans un seul compartiment S3. Vous leur donnerez des noms et des propriétés significatifs, récupérerez un rapport et supprimerez le groupe financier en conservant les ressources humaines jusqu'au nettoyage final.
Terminez d'abord Stockez et récupérez des fichiers dans S3. Cette nouvelle VM fournit la connexion CLI et les documents locaux ; aucune ressource précédente ni aucun identifiant personnel n'est nécessaire. Utilisez Terminal pour les commandes et l'onglet AWS View, à côté, pour comparer les clés, les propriétés et les contenus stockés.
Lien avec les certifications
Ce laboratoire propose une pratique des sujets d’examen suivants.
- Cloud Practitioner (CLF-C02) · Tâche 3.6: Clés, préfixes et métadonnées d’objets S3.
- Solutions Architect – Associate (SAA-C03) · Tâche 3.1: Clés, préfixes et métadonnées d’objets S3.
- Developer – Associate (DVA-C02) · Tâche 1.3: Clés, préfixes et métadonnées d’objets S3.
Choisissez les clés et chargez les documents d'équipe
Dans cette étape, vous utiliserez des clés d'objet significatives pour séparer les documents de deux services dans un compartiment.
Un répertoire local stocke des fichiers sur votre machine ; un compartiment stocke des objets dans S3. Rejoignez l'espace de travail préparé avec cd (change directory, changer de répertoire) :
cd /home/labex/project
Le répertoire fourni documents contient deux petits fichiers texte. cat affiche leur contenu pour que vous sachiez ce que vous allez stocker :
cat documents/revenue.csv
month,revenue
2026-09,42000
Un fichier CSV utilise des virgules pour séparer les colonnes. Ici, les deux colonnes sont le mois et le chiffre d'affaires ; chaque ligne suivante est un enregistrement.
cat documents/welcome.txt
Welcome to the reporting team.
Créez un compartiment avec aws s3 mb (make bucket). s3:// identifie un emplacement de stockage plutôt qu'un chemin local :
aws s3 mb s3://labex-team-documents
La commande indique make_bucket: labex-team-documents.
La clé financière sera finance/2026-09/revenue.csv. Les barres obliques facilitent le regroupement du nom, mais S3 ne crée pas de répertoires de système de fichiers : la chaîne entière est une seule clé d'objet. Son préfixe finance/ regroupe les documents financiers ; le préfixe plus long finance/2026-09/ limite le groupe à un mois.
Content-Type est une métadonnée standard décrivant le format du fichier. text/csv identifie un texte dont les champs sont séparés par des virgules. Les métadonnées personnalisées contiennent vos propres paires descriptives de clés et de valeurs. Ici, department=finance et period=2026-09 décrivent le rapport ; elles n'accordent pas d'autorisations et ne changent pas son contenu.
Cet exemple distingue le préfixe de la clé du reste du nom ; les métadonnées appartiennent à l'objet.

aws s3 cp copie le premier chemin vers le second. --content-type définit explicitement le format. --metadata accepte des paires name=value séparées par des virgules. Les guillemets maintiennent l'argument de métadonnées ensemble. Une barre oblique inverse à la fin d'une ligne poursuit la même commande sur la ligne suivante :
aws s3 cp documents/revenue.csv s3://labex-team-documents/finance/2026-09/revenue.csv \
--content-type text/csv \
--metadata 'department=finance,period=2026-09'
Le message de chargement nomme la clé de destination. Chargez le document de bienvenue avec sa propre clé et ses propriétés. text/plain signifie du texte ordinaire sans format de document spécialisé :
aws s3 cp documents/welcome.txt s3://labex-team-documents/hr/welcome.txt \
--content-type text/plain \
--metadata 'department=hr'
Utilisez ls (list) et --recursive pour afficher les clés complètes de tout le compartiment plutôt que de les regrouper en préfixes ressemblant à des dossiers :
aws s3 ls s3://labex-team-documents/ --recursive
Deux lignes se terminent par finance/2026-09/revenue.csv et hr/welcome.txt ; les horodatages varient. AWS View affiche les deux clés dans le même compartiment. Vous avez organisé les objets par nom, sans créer de compartiments distincts pour chaque service.
Examinez les propriétés et récupérez un rapport
Dans cette étape, vous sélectionnerez les objets d'un service, examinerez les métadonnées et prouverez qu'un rapport téléchargé correspond à sa source.
aws s3api expose les opérations individuelles de l'API S3. Les commandes aws s3, de plus haut niveau, traitent les opérations courantes sur les fichiers ; toutes deux agissent sur les mêmes objets. list-objects-v2 liste les enregistrements d'objets. --bucket nomme le conteneur et --prefix limite les clés renvoyées par S3 à celles qui commencent par cette chaîne :
aws s3api list-objects-v2 --bucket labex-team-documents --prefix finance/
Trouvez finance/2026-09/revenue.csv dans Contents. Aucun objet des ressources humaines ne figure dans cette réponse, car hr/welcome.txt ne commence pas par finance/. Un préfixe filtre les noms, pas les métadonnées personnalisées : department=finance seul ne ferait pas entrer une clé nommée autrement dans ce résultat.
head-object récupère les propriétés de l'objet sans télécharger son contenu. Fournissez la clé complète, préfixe compris :
aws s3api head-object --bucket labex-team-documents --key finance/2026-09/revenue.csv
La réponse comprend ContentType défini à text/csv, ContentLength (octets stockés) et un objet Metadata contenant department et period. Les autres champs, comme les horodatages et ETag, décrivent l'objet stocké. Les métadonnées sont associées à la copie stockée, pas au fichier local d'origine.
Dans AWS View, cliquez sur finance/2026-09/revenue.csv. La carte développée affiche son Content-Type, ses métadonnées personnalisées et son contenu CSV réellement stocké. Comparez-les avec la réponse CLI.
Cet exemple montre l'objet financier développé, avec les propriétés et le contenu lus depuis le stockage :

Téléchargez avec l'URI S3 comme source et un nouveau nom de fichier local comme destination. Ce nom n'a pas à correspondre à la clé :
aws s3 cp s3://labex-team-documents/finance/2026-09/revenue.csv retrieved-revenue.csv
Examinez ce que vous avez récupéré :
cat retrieved-revenue.csv
Vous devriez voir les deux mêmes lignes CSV examinées précédemment. cmp compare deux fichiers locaux octet par octet ; il ne produit aucune sortie lorsqu'ils correspondent. L'opérateur && du shell exécute le message uniquement si cette comparaison réussit :
cmp documents/revenue.csv retrieved-revenue.csv && echo 'Report content matches'
Report content matches
Cela prouve que la récupération a conservé les octets du rapport. Votre fichier local contient les données ; utilisez head-object pour examiner les propriétés stockées dans S3.
Supprimez uniquement le préfixe financier
Dans cette étape, vous supprimerez les documents financiers en conservant le document des ressources humaines.
Un compartiment partagé peut contenir du travail sans rapport avec votre tâche. Supprimer tout le compartiment ou utiliser sa racine comme cible d'une suppression récursive affecterait les deux services. Choisissez plutôt le préfixe précis finance/. La barre oblique finale fait partie du préfixe et garde les noms comme finance-archive.csv en dehors de ce périmètre.
aws s3 rm supprime des objets. --recursive applique l'opération à toutes les clés correspondantes, et --dryrun liste les opérations prévues sans les exécuter. Prévisualisez d'abord le périmètre exact :
aws s3 rm s3://labex-team-documents/finance/ --recursive --dryrun
La sortie de l'essai à blanc nomme uniquement finance/2026-09/revenue.csv. Elle ne doit pas nommer hr/welcome.txt. Les objets existent toujours à ce stade.
Retirez --dryrun pour exécuter l'opération examinée :
aws s3 rm s3://labex-team-documents/finance/ --recursive
La sortie confirme la suppression de la clé financière. Interrogez à nouveau le compartiment :
aws s3 ls s3://labex-team-documents/ --recursive
Seul hr/welcome.txt reste. Dans AWS View, développez cet objet restant : son message de bienvenue et ses métadonnées department=hr sont inchangés. Une liste et une lecture réussies établissent que vous avez supprimé le périmètre prévu tout en conservant le document d'un autre service.
Nettoyez les ressources restantes du laboratoire
Dans cette étape, vous supprimerez le document restant appartenant au laboratoire et le compartiment vide.
L'objet des ressources humaines était protégé pendant l'opération financière. Les ressources des deux services appartiennent à cet exercice ; vous pouvez donc maintenant supprimer l'objet restant par sa clé exacte, sans cible récursive large :
aws s3 rm s3://labex-team-documents/hr/welcome.txt
La sortie confirme la suppression de la clé des ressources humaines. Vérifiez le contenu du compartiment avant de supprimer son conteneur :
aws s3 ls s3://labex-team-documents/ --recursive
La commande réussie n'affiche aucune ligne d'objet. Un compartiment doit être vide avant que rb (remove bucket) puisse le supprimer :
aws s3 rb s3://labex-team-documents
La sortie est remove_bucket: labex-team-documents. Confirmez que le stockage répond toujours :
aws s3 ls
Aucune ligne de compartiment ne figure dans ce nouvel espace de travail. AWS View affiche No buckets ; un message Unavailable signifierait que la page ne peut pas établir l'état. Vos documents sources locaux et téléchargés restent disponibles pour examen.
Résumé
Vous avez organisé les documents de deux services avec des clés d'objet complètes et des préfixes, attribué des métadonnées standard et personnalisées, examiné les propriétés par l'API S3 et comparé les octets téléchargés avec leur source. Vous avez aussi prévisualisé une suppression limitée à un préfixe, conservé un document sans rapport avec cette opération et nettoyé les ressources restantes du laboratoire.
Utilisez les préfixes pour un regroupement prévisible fondé sur les noms et les métadonnées pour décrire les objets. Choisissez délibérément les périmètres de suppression et vérifiez les ressources qui doivent rester.



