Introduction
Une équipe de production de rapports doit stocker un rapport quotidien de ventes et récupérer sa copie actuelle. Vous créerez un compartiment S3, chargerez et mettrez à jour le rapport, vérifierez un téléchargement et supprimerez vos ressources d'entraînement.
Terminez d'abord Premiers pas avec AWS sur LabEx. La connexion CLI et report.txt sont préparés dans cette nouvelle VM ; aucune connexion à un compte AWS personnel ni aucune ressource antérieure n'est nécessaire. Utilisez Terminal pour les commandes et l'onglet AWS View, à côté, pour observer le stockage de ce laboratoire.
Lien avec les certifications
Ce laboratoire propose une pratique des sujets d’examen suivants.
- Cloud Practitioner (CLF-C02) · Tâche 3.6: Stockage d’objets S3, chargements, mises à jour et téléchargements.
- Solutions Architect – Associate (SAA-C03) · Tâche 3.1: Stockage d’objets S3, chargements, mises à jour et téléchargements.
- Developer – Associate (DVA-C02) · Tâche 1.3: Stockage d’objets S3, chargements, mises à jour et téléchargements.
- Data Engineer – Associate (DEA-C01) · Tâche 1.1: Pratique des fondamentaux : Stockage d’objets S3, chargements, mises à jour et téléchargements.
Créez votre compartiment de stockage
Dans cette étape, vous créerez un compartiment pour un rapport quotidien de ventes et l'observerez dans AWS View.
Rejoignez l'espace de travail. cd change le répertoire courant du terminal ; tous les fichiers locaux de ce laboratoire utilisent ce répertoire.
cd /home/labex/project
Confirmez la version de la CLI officielle préparée :
aws --version
La sortie commence par aws-cli/2.37.6. L'image fournit déjà les outils pour vous permettre de vous concentrer sur les opérations de stockage.
Amazon S3 stocke le contenu des fichiers sous forme d'objets. Un compartiment, ou bucket, contient ces objets, et une clé nomme un objet à l'intérieur. Vous créerez d'abord le conteneur, puis chargerez le rapport.
Créez labex-backups. Dans aws s3 mb, s3 sélectionne le stockage d'objets et mb signifie make bucket, créer un compartiment. Le préfixe s3:// identifie un emplacement de stockage, pas un dossier local.
aws s3 mb s3://labex-backups
Sortie attendue :
make_bucket: labex-backups
Listez les compartiments avec ls, qui signifie list :
aws s3 ls
Vous devriez voir une ligne se terminant par labex-backups ; sa date et son heure varient. Dans l'aperçu AWS View, une carte labex-backups apparaît sans objets. Les flèches montrent comment la CLI se connecte au stockage ; le nœud du compartiment reflète une requête réelle sur les ressources.
Chargez et examinez le rapport
Dans cette étape, vous stockerez un rapport comme objet S3 et lirez son contenu réellement stocké dans l'aperçu.
Le fichier local et sa copie stockée sont distincts ; le chargement et le téléchargement les relient.

Examinez le fichier local préparé. cat affiche le contenu d'un fichier texte :
cat report.txt
Sortie attendue :
Daily sales: 120 orders
cp signifie copy. Le premier chemin ci-dessous est la source locale et le second est la destination. La partie située après le nom du compartiment, report.txt, est la clé de l'objet.
aws s3 cp report.txt s3://labex-backups/report.txt
La sortie indique un chargement de report.txt vers s3://labex-backups/report.txt.
Listez les objets du compartiment :
aws s3 ls s3://labex-backups/
La ligne de report.txt indique sa date de modification, sa taille et sa clé. Un chargement crée une copie stockée distincte : modifier uniquement le fichier local ne la changerait pas.
Dans AWS View, la carte du compartiment affiche 1 objet. Cliquez sur report.txt dans la carte pour développer son contenu. L'aperçu devrait afficher Daily sales: 120 orders. Il lit l'objet stocké, pas le fichier source local.
L'exemple ci-dessous montre le rapport chargé dont le contenu est développé dans sa carte de compartiment. Le contenu est lu depuis le stockage.

Mettez à jour et récupérez la copie stockée
Dans cette étape, vous remplacerez le rapport, téléchargerez la version actuellement stockée et prouverez que le contenu a été conservé pendant l'aller-retour.
Le rapport mis à jour contient 145 commandes. printf écrit du texte ; \n ajoute un saut de ligne. L'opérateur > du shell remplace le contenu du fichier local nommé.
printf 'Daily sales: 145 orders\n' > report.txt
Regardez l'aperçu du rapport avant de le charger à nouveau. Il affiche toujours 120 orders, car la copie stockée n'a pas changé.
Chargez le fichier vers la même clé pour remplacer son contenu actuel :
aws s3 cp report.txt s3://labex-backups/report.txt
L'aperçu affiche maintenant 145 orders, tandis que le nombre d'objets reste 1. Réutiliser une clé met à jour cet objet ; cela ne crée pas un deuxième objet nommé dans ce laboratoire.
Téléchargez en inversant le sens de cp : le chemin S3 est maintenant la source et downloaded.txt est une nouvelle destination locale.
aws s3 cp s3://labex-backups/report.txt downloaded.txt
Examinez le fichier téléchargé :
cat downloaded.txt
Sortie attendue :
Daily sales: 145 orders
cmp compare deux fichiers octet par octet. Il n'affiche rien et se termine avec succès lorsqu'ils sont identiques. && exécute la commande suivante uniquement si cette comparaison réussit.
cmp report.txt downloaded.txt && echo 'Round trip verified'
Sortie attendue :
Round trip verified
Cette comparaison prouve que le contenu récupéré correspond à votre source mise à jour. La vérification de l'étape lit indépendamment S3 et compare les contenus stocké et téléchargé.
Nettoyez votre stockage
Dans cette étape, vous apprendrez pourquoi un compartiment non vide ne peut pas être supprimé, puis supprimerez les objets et le compartiment de ce laboratoire.
rb signifie remove bucket, supprimer un compartiment. Essayez d'abord de le supprimer alors que le rapport existe encore :
aws s3 rb s3://labex-backups
Cette commande doit échouer avec BucketNotEmpty. Cet échec enseigne une dépendance entre ressources : un compartiment contient des objets ; supprimez donc ces objets avant leur conteneur. Le compartiment et l'objet devraient rester visibles dans l'aperçu.
rm supprime un objet au chemin S3 exact :
aws s3 rm s3://labex-backups/report.txt
La sortie confirme delete: s3://labex-backups/report.txt. L'objet disparaît de l'aperçu ; le compartiment reste vide.
Supprimez maintenant le compartiment vide :
aws s3 rb s3://labex-backups
Sortie attendue :
remove_bucket: labex-backups
Confirmez que le service répond toujours et ne liste aucun compartiment restant :
aws s3 ls
La commande se termine sans lignes de compartiments. AWS View affiche No buckets, sans cartes de ressources. Cet état provient d'une requête de service réussie ; une page déconnectée ne prouverait pas le nettoyage. Vos fichiers de rapports locaux restent disponibles, tandis que les ressources de stockage ont été supprimées.
La vue de nettoyage ci-dessous ne montre aucune carte de compartiment restante après une requête d'état réussie.

Résumé
Vous avez utilisé la CLI AWS officielle pour créer un compartiment, charger et remplacer un objet, le télécharger, comparer les contenus des fichiers et supprimer les ressources de stockage. AWS View a relié vos commandes aux changements observables des ressources, et l'aperçu a montré le contenu réellement stocké.
Vous avez pratiqué un processus complet de stockage de rapports : organiser les fichiers dans un compartiment, distinguer copies locale et stockée, vérifier un téléchargement et supprimer les objets avant leur compartiment.



