Le contrôle et la gestion des données peuvent être une tâche ardue. Ces commandes AWS S3 vous aideront à gérer rapidement et efficacement vos buckets et vos données AWS S3.

AWSS3 est le service de stockage d’objets fourni par AWS. Il s’agit du service de stockage le plus utilisé d’AWS, qui peut virtuellement contenir une quantité infinie de données. Il est hautement disponible, durable et facile à intégrer avec plusieurs autres services AWS.

AWS S3 peut être utilisé par des personnes ayant des besoins variés tels que le stockage d’applications mobiles/web, le stockage de big data, le stockage de données d’apprentissage automatique, l’hébergement de sites web statiques, et bien d’autres encore.

Si vous avez utilisé S3 dans votre projet, vous savez qu’étant donné la vaste capacité de stockage, la gestion de centaines de buckets et de téraoctets de données dans ces buckets peut être une tâche exigeante. Nous avons une liste de commandes AWS S3 avec des exemples que vous pouvez utiliser pour gérer efficacement vos buckets et vos données AWS S3.

Configuration de l’interface de programmation AWS

Une fois que vous avez téléchargé et installé le CLI AWS, vous devez configurer les identifiants AWS pour pouvoir accéder à votre compte et à vos services AWS. Voyons rapidement comment vous pouvez configurer le CLI AWS.

La première étape consiste à créer un utilisateur ayant un accès programmatique au compte AWS. N’oubliez pas de cocher cette case lorsque vous créez un utilisateur pour AWS CLI.

Attribuez les autorisations et créez un utilisateur. Dans le dernier écran après avoir créé cet utilisateur, copiez l’ID de la clé d’accès et la clé d’accès secrète pour cet utilisateur. Nous utiliserons ces informations d’identification pour nous connecter via AWS CLI.

Allez maintenant dans le terminal de votre choix et exécutez la commande suivante.

aws configure 

Saisissez l’ID de la clé d’accès et la clé d’accès secrète lorsque vous y êtes invité. Sélectionnez la région AWS de votre choix et le format de sortie de la commande. Personnellement, je préfère utiliser le format JSON. Ce n’est pas grave, vous pouvez toujours modifier ces valeurs ultérieurement.

Vous pouvez maintenant exécuter n’importe quelle commande AWS CLI dans la console. Voyons maintenant les commandes AWS S3.

cp

La commande cp copie simplement les données vers et depuis les buckets S3. Elle peut être utilisée pour copier des fichiers de local à S3, de S3 à local, et entre deux buckets S3. Il existe de nombreux autres paramètres que vous pouvez fournir avec les commandes.

Par exemple, le paramètre -dryrun pour tester la commande, le paramètre –storage-class pour spécifier la classe de stockage de vos données dans S3, d’autres paramètres pour définir le cryptage, et bien plus encore. La commande cp vous permet de contrôler entièrement la manière dont vous configurez la sécurité de vos données dans S3.

Utilisation

aws s3 cp   [--options]

Exemples

Copier des données d’un fichier local vers un fichier S3

aws s3 cp nom_de_fichier.txt s3://nom_du_bucket/nom_de_fichier_2.txt

Copier des données de S3 vers local

aws s3 cp s3://nom_du_bucket/nom_du_fichier_2.txt nom_du_fichier.txt

Copier des données entre des buckets S3

aws s3 cp s3://nom_du_bucket/nom_du_fichier.txt s3://nom_du_bucket_2/nom_du_fichier_2.txt

Copier les données du local vers S3 – IA

aws s3 cp nom_de_fichier.txt s3://nom_du_bucket/nom_de_fichier_2.txt --storage-class STANDARD_IA

Copier toutes les données d’un dossier local vers S3

aws s3 cp ./dossier_local s3://nom_du_bucket --recursive

ls

La commande ls est utilisée pour lister les buckets ou leur contenu. Ainsi, si vous souhaitez simplement afficher des informations sur vos buckets ou les données qu’ils contiennent, vous pouvez utiliser la commande ls.

Utilisation

aws s3 ls NONE ou  [--options]

Exemples

Listez tous les buckets du compte

aws s3 ls

Résultat :
2022-02-02 18:20:14 NOM_DU_SEAU_1
2022-03-20 13:12:43 NOM_DU_SEAU_2
2022-03-29 10:52:33 NOM_DU_SEAU_3

Cette commande liste tous les seaux de votre compte avec la date de création du seau.

Lister tous les objets de premier niveau d’un bucket

aws s3 ls BUCKET_NAME_1 ou s3://BUCKET_NAME_1 

Résultat :
                           PRE samplePrefix/
2021-12-09 12:23:20 8754 file_1.png
2021-12-09 12:23:21 1290 fichier_2.json
2021-12-09 12:23:21 3088 fichier_3.html

Cette commande répertorie tous les objets de premier niveau d’un seau S3. Notez que les objets avec le préfixe samplePrefix/ ne sont pas affichés ici, mais seulement les objets de premier niveau.

Lister tous les objets d’un bucket

aws s3 ls BUCKET_NAME_1 ou s3://BUCKET_NAME_1 --recursive

Résultat :
2021-12-09 12:23:20 8754 file_1.png
2021-12-09 12:23:21 1290 fichier_2.json
2021-12-09 12:23:21 3088 fichier_3.html
2021-12-09 12:23:20 16328 samplePrefix/file_1.txt
2021-12-09 12:23:20 29325 samplePrefix/sampleSubPrefix/fichier_1.css

Cette commande dresse la liste de tous les objets d’un panier S3. Notez ici que les objets avec le préfixe samplePrefix/ et tous les sous-préfixes sont également affichés.

mb

La commande mb est simplement utilisée pour créer de nouveaux buckets S3. Il s’agit d’une commande assez simple, mais pour créer de nouveaux buckets, le nom du nouveau bucket doit être unique pour tous les buckets S3.

Utilisation

aws s3 mb 

Exemple de commande

Créez un nouveau bucket dans une région spécifique

aws s3 mb myUniqueBucketName --region eu-west-1

mv

La commande mv déplace simplement les données vers et depuis les buckets S3. Tout comme la commande cp, la commande mv est utilisée pour déplacer des données de local à S3, de S3 à local, ou entre deux buckets S3.

La seule différence entre la commande mv et la commande cp est que lorsque vous utilisez la commande mv, le fichier est supprimé de la source. AWS déplace ce fichier vers la destination. Vous pouvez spécifier de nombreuses options avec la commande.

Utilisation

aws s3 mv   [--options]

Exemples

Déplacer des données d’un fichier local vers un fichier S3

aws s3 mv nom_de_fichier.txt s3://nom_du_bucket/nom_de_fichier_2.txt

Déplacer des données de S3 vers local

aws s3 mv s3://nom_du_bucket/nom_du_fichier_2.txt nom_du_fichier.txt

Déplacer des données entre les buckets S3

aws s3 mv s3://nom_du_bucket/nom_du_fichier.txt s3://nom_du_bucket_2/nom_du_fichier_2.txt

Déplacer des données du local vers S3 – IA

aws s3 mv nom_de_fichier.txt s3://nom_du_bucket/nom_de_fichier_2.txt --storage-class STANDARD_IA 

Déplacez toutes les données d’un préfixe dans S3 vers un dossier local.

aws s3 mv s3://nom_du_bucket/un_préfixe ./dossier_local --recursif

présigner

La commande presign génère une URL pré-signée pour une clé dans le seau S3. Vous pouvez utiliser cette commande pour générer des URL qui peuvent être utilisées par d’autres personnes pour accéder à un fichier dans la clé du seau S3 spécifiée.

Utilisation

aws s3 presign –expires-in

Exemple

Générez une URL pré-signée valable pendant une heure pour un objet dans le seau

aws s3 presign s3://nom_du_bucket/préfixe_de_l'échantillon/nom_du_fichier.png --expires-in 3600

Sortie :
https://s3.ap-south-1.amazonaws.com/bucket_name/samplePrefix/file_name.png ?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA4MCZT73PAX7ZMVFW/20220314/ap-south-1/s3/aws4_request&X-Amz-Date=20220314T054113Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=f14608bbf3e1f9f8d215eb5b439b87e167b1055bcd7a45c13a33debd3db1be96

rb

La commande rb est simplement utilisée pour supprimer des buckets S3.

Utilisation

aws rb 

Exemple de commande

Supprimez un bucket S3

aws s3 mb monNomDeBouquet
# Cette commande échoue s'il y a des données dans ce bac.

Supprimez un seau S3 ainsi que les données qu’il contient.

aws s3 mb monNomDeDossier --force

rm

La commande rm est simplement utilisée pour supprimer les objets des buckets S3.

Utilisation

aws s3 rm 

Exemples d’utilisation

Supprimez un fichier du panier S3

aws s3 rm s3://nom_du_seau/préfixe_exemple/nom_du_fichier_2.txt

Supprimez tous les fichiers avec un préfixe spécifique dans un seau S3

aws s3 rm s3://nom_du_bucket/préfixe_de_l'échantillon --recursive

Supprimez tous les fichiers d’un panier S3

aws s3 rm s3://nom_du_bucket --recursive

sync

La commande sync copie et met à jour les fichiers de la source vers la destination, tout comme la commande cp. Il est important de comprendre la différence entre les commandes cp et sync. Lorsque vous utilisez la commande cp, elle copie les données de la source vers la destination, même si les données existent déjà dans la destination.

Elle ne supprime pas non plus les fichiers de la destination s’ils ont été supprimés de la source. En revanche, la commande sync examine la destination avant de copier vos données et ne copie que les fichiers nouveaux et mis à jour. La commande sync est similaire à la commande “committing” et “pushing” des changements vers une branche distante dans git. La commande sync offre de nombreuses options pour personnaliser la commande.

Utilisation

aws s3 sync   [--options]

Exemples

Synchronisation d’un dossier local sur S3

aws s3 sync ./dossier_local s3://nom_du_bucket

Synchroniser les données S3 vers un dossier local

aws s3 sync s3://nom_du_bucket ./dossier_local

Synchroniser des données entre deux buckets S3

aws s3 sync s3://nom_du_bucket s3://nom_du_bucket_2

Déplacer des données entre deux buckets S3 en excluant tous les fichiers .txt

aws s3 sync s3://nom_du_bucket s3://nom_du_bucket_2 --exclude "*.txt

site web

Vous pouvez utiliser les buckets S3 pour héberger des sites web statiques. La commande website est utilisée pour configurer l’hébergement de sites web statiques S3 pour votre bucket.

Vous spécifiez les fichiers d’index et d’erreur et le S3 vous donne une URL où vous pouvez voir le fichier.

Utilisation

aws s3 website  [--options]

Exemple

Configurez l’hébergement statique d’un seau S3 et indiquez les fichiers d’index et d’erreur

aws s3 website s3://nom_du_bucket --index-document index.html --error-document error.html

Conclusion

J’espère que ce qui précède vous donne une idée de certaines des commandes AWS S3 fréquemment utilisées pour gérer les buckets.