9 commandes AWS S3 avec des exemples pour gérer le compartiment et les données

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 compartiments et vos données AWS S3.

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

AWS S3 peut être utilisé par des personnes ayant des exigences telles que le stockage d’applications mobiles/Web, le stockage de données volumineuses, le stockage de données d’apprentissage automatique, l’hébergement de sites Web statiques, etc.

Si vous avez utilisé S3 dans votre projet, vous savez que compte tenu de la grande capacité de stockage, la gestion de centaines de compartiments et de téraoctets de données dans ces compartiments 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 compartiments et vos données AWS S3.

Table des matières

Configuration de l’interface de ligne de commande AWS

Après avoir téléchargé et installé avec succès l’AWS CLI, vous devez configurer les informations d’identification AWS pour pouvoir accéder à votre compte et à vos services AWS. Voyons rapidement comment vous pouvez configurer l’AWS CLI.

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

Donnez les autorisations et créez un utilisateur. Sur l’écran final après avoir créé cet utilisateur avec succès, copiez l’ID de 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 l’AWS CLI.

Allez maintenant sur le terminal de votre choix et lancez la commande suivante.

aws configure 

Entrez 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 plus tard.

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

CP

La commande cp copie simplement les données vers et depuis les compartiments S3. Il peut être utilisé pour copier des fichiers de local vers S3, de S3 vers local et entre deux compartiments 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 chiffrement, et bien plus encore. La commande cp vous donne un contrôle total sur la façon dont vous configurez la sécurité de vos données dans S3.

Usage

aws s3 cp <SOURCE> <DESTINATION> [--options]

Exemples

Copier les données du local vers S3

aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt

Copier les données de S3 vers local

aws s3 cp s3://bucket_name/file_name_2.txt file_name.txt

Copier des données entre des compartiments S3

aws s3 cp s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt

Copier les données du local vers S3 – IA

aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA 

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

aws s3 cp ./local_folder s3://bucket_name --recursive

ls

La ls commande est utilisé pour lister les compartiments ou le contenu des compartiments. Ainsi, si vous souhaitez simplement afficher des informations sur vos compartiments ou les données de ces compartiments, vous pouvez utiliser la commande ls.

Usage:

aws s3 ls NONE or <BUCKET_NAME> [--options]

Exemples

Répertorier tous les buckets du compte

aws s3 ls

Output:
2022-02-02 18:20:14 BUCKET_NAME_1
2022-03-20 13:12:43 BUCKET_NAME_2
2022-03-29 10:52:33 BUCKET_NAME_3

Cette commande répertorie tous les compartiments de votre compte avec la date de création du compartiment.

Répertorier tous les objets de niveau supérieur dans un compartiment

aws s3 ls BUCKET_NAME_1 or s3://BUCKET_NAME_1 

Output:
                           PRE samplePrefix/
2021-12-09 12:23:20       8754 file_1.png
2021-12-09 12:23:21       1290 file_2.json
2021-12-09 12:23:21       3088 file_3.html

Cette commande répertorie tous les objets de niveau supérieur dans un compartiment S3. Notez ici que les objets avec le préfixe samplePrefix/ ne sont pas affichés ici uniquement les objets de niveau supérieur.

Lister tous les objets d’un bucket

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

Output:
2021-12-09 12:23:20       8754 file_1.png
2021-12-09 12:23:21       1290 file_2.json
2021-12-09 12:23:21       3088 file_3.html
2021-12-09 12:23:20      16328 samplePrefix/file_1.txt
2021-12-09 12:23:20      29325 samplePrefix/sampleSubPrefix/file_1.css

Cette commande répertorie tous les objets d’un compartiment S3. Notez ici que les objets avec le préfixe samplePrefix/ et tous les sous-préfixes sont également affichés.

Mo

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

Usage

aws s3 mb <BUCKET_NAME>

Exemple

Créer un nouveau compartiment dans une région spécifique

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

m.v.

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

La seule différence entre les commandes mv et cp est que lors de l’utilisation de la commande mv, le fichier est supprimé de la source. AWS déplace ce fichier vers la destination. Il existe de nombreuses options que vous pouvez spécifier avec la commande.

Usage

aws s3 mv <SOURCE> <DESTINATION> [--options]

Exemples

Déplacer les données du local vers S3

aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt

Déplacer les données de S3 vers local

aws s3 mv s3://bucket_name/file_name_2.txt file_name.txt

Déplacer des données entre des compartiments S3

aws s3 mv s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt

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

aws s3 mv file_name.txt s3://bucket_name/file_name_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://bucket_name/somePrefix ./localFolder --recursive

présigner

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

Usage

aws s3 presign –expires-in

Exemple

Générez une URL pré-signée valide pendant 1 heure pour un objet du bucket.

aws s3 presign s3://bucket_name/samplePrefix/file_name.png --expires-in 3600

Output:
https://s3.ap-south-1.amazonaws.com/bucket_name/samplePrefix/file_name.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA4MCZT73PAX7ZMVFW%2F20220314%2Fap-south-1%2Fs3%2Faws4_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 compartiments S3.

Usage

aws rb <BUCKET_NAME>

Exemple

Supprimer un compartiment S3.

aws s3 mb myBucketName
# This command fails if there is any data in this bucket.

Supprimez un compartiment S3 avec les données du compartiment S3.

aws s3 mb myBucketName --force

rm

La commande rm est simplement utilisée pour supprimer les objets dans les compartiments S3.

Usage

aws s3 rm <S3Uri_To_The_File>

Exemples

Supprimez un fichier du compartiment S3.

aws s3 rm s3://bucket_name/sample_prefix/file_name_2.txt

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

aws s3 rm s3://bucket_name/sample_prefix --recursive

Supprimez tous les fichiers d’un compartiment S3.

aws s3 rm s3://bucket_name --recursive

synchroniser

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

Il ne supprimera pas non plus les fichiers de la destination s’ils sont supprimés de la source. Cependant, la synchronisation examine la destination avant de copier vos données et ne copie que les fichiers nouveaux et mis à jour. La commande de synchronisation est similaire à la validation et au transfert de modifications vers une branche distante dans git. La commande de synchronisation offre de nombreuses options pour personnaliser la commande.

Usage

aws s3 sync <SOURCE> <DESTINATION> [--options]

Exemples

Synchroniser le dossier local avec S3

aws s3 sync ./local_folder s3://bucket_name

Synchroniser les données S3 dans un dossier local

aws s3 sync s3://bucket_name ./local_folder

Synchroniser les données entre deux compartiments S3

aws s3 sync s3://bucket_name s3://bucket_name_2

Déplacer des données entre deux compartiments S3 à l’exclusion de tous les fichiers .txt

aws s3 sync s3://bucket_name s3://bucket_name_2 --exclude "*.txt

site Internet

Vous pouvez utiliser des compartiments S3 pour héberger des sites Web statiques. La commande website est utilisée pour configurer l’hébergement de site Web statique S3 pour votre compartiment.

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

Usage

aws s3 website <S3_URI> [--options]

Exemple:

Configurer l’hébergement statique pour un compartiment S3 et spécifier les fichiers d’index et d’erreur

aws s3 website s3://bucket_name --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 compartiments. Si vous souhaitez en savoir plus, vous pouvez consulter les détails de la certification AWS.