Organisez les documents avec des clés et des métadonnées

AWSBeginner
Pratiquer maintenant

Introduction

Une fois un fichier stocké, son nom et ses propriétés aident l’équipe à retrouver le bon document. Organisez les documents financiers et RH dans un bucket, inspectez le rapport financier, puis supprimez uniquement son préfixe en conservant les RH.

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 AWS View en haut pour comparer les clés, les propriétés et les contenus stockés.

Lien avec les certifications

Certification Tâche d’examen Pratique
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.

Vue d’ensemble du laboratoire

Schéma conceptuel : les documents financiers et RH partagent un bucket S3 ; les clés et métadonnées identifient le rapport financier à examiner, récupérer et supprimer dans un périmètre limité, sans modifier les documents RH.

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.

Clés, préfixe et métadonnées — 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.

Clé financière, métadonnées et contenu CSV — 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.

Résumé

Vous avez organisé les objets avec des clés, préfixes, types de contenu et métadonnées personnalisées, puis vérifié le rapport récupéré octet par octet. Le dry run a permis de contrôler la suppression limitée aux finances ; la requête finale et AWS View ont confirmé la préservation du document RH et de ses propriétés.

Pour approfondir ce sujet, consultez la documentation AWS : Clés et préfixes des objets S3; Métadonnées des objets S3.