Comment répertorier les plus gros éléments dans un seau S3 à partir du terminal

0
192

Si vous souhaitez connaître les éléments les plus volumineux d'un compartiment AWS S3, vous pouvez utiliser l'interface de ligne de commande pour imprimer une liste triée par taille. Cela peut vous aider à localiser des objets inhabituellement volumineux dans le compartiment qui peuvent prendre de la place.

Liste et tri des éléments avec la CLI S3

< p>S3 fournit des options de tri intégrées dans les menus, donc si vous recherchez simplement le plus grand élément dans un dossier, vous pouvez simplement trier ce dossier. Toutefois, si vous souhaitez rechercher tous les éléments quelle que soit la clé, vous devrez le faire à partir de l'AWS CLI. Si vous ne l'avez pas installé, vous pouvez vous référer à notre guide de configuration pour le configurer.

La commande pour lister les objets est assez simple :

aws s3api list-object -versions –bucket example-bucket

L'évaluation de cette requête peut prendre un certain temps, car elle télécharge une liste principale de tous les objets et de leurs métadonnées, mais vous obtiendrez un tableau JSON contenant une entrée pour chaque élément, comme suit :

{ “ETag”: “”04e28fbee1ef2721123bb4e9a78183a895″”, “Size”: 320, “StorageClass”: “STANDARD”, “Key”: “folder/file.json”, “VersionId”: “fNdwjJRaEjBYUSBgZe51oj_s4ONo5GsL”, ” “: false, “LastModified”: “2020-11-05T18:59:18+00:00”, “Owner”: { “DisplayName”: “username”, “ID”: “501092a155f88f4d174d7as3d2a347f33b9495f0261434682ab9a” } }

À analyser et trier cela, vous pouvez utiliser jq — un utilitaire fantastique pour travailler avec JSON sur la ligne de commande. Vous pouvez le télécharger depuis apt, bien que des binaires soient également disponibles :

sudo apt-get install jq

Cela fait de la commande finale la suivante, qui prendra encore un certain temps à évaluer, mais affichera les 100 plus gros éléments du compartiment :

aws s3api list-object-versions –bucket oxide.rust | jq -r '.Versions[] | “(.Clé)t (.Taille)”' | trier -k2 -r -n | head -100 Advertisement

Si vous voulez plus ou moins d'éléments, vous pouvez modifier le paramètre d'entrée sur la commande head, qui coupe tout sauf les N premières lignes.