AWS S3: Comment puis-je voir combien d'espace disque est utilisé

j'ai un compte AWS. J'utilise S3 pour stocker des sauvegardes de différents serveurs. La question Est-ce qu'il y a des informations dans la console AWS sur la quantité de disque que spase utilise sur mon nuage S3?

Merci

73
demandé sur KennyPowers 2012-01-23 21:31:28

16 réponses

Yippe - une mise à jour à AWS CLI vous permet de ls récursivement à travers des seaux...

aws s3 ls s3://<bucketname> --recursive  | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=}END{print total/1024/1024" MB"}'
78
répondu cudds 2014-11-13 13:55:21

Je ne suis pas sûr quand cela a été ajouté à L'AWSCLI étant donné que la question originale était Il ya 3 ans, mais l'outil en ligne de commande donne un bon résumé en exécutant:

aws s3 ls s3://mybucket --recursive --human-readable --summarize
57
répondu thaavik 2015-08-27 19:29:09

s3cmd peut vous montrer ceci en exécutant s3cmd du , en passant optionnellement le nom du seau comme argument.

33
répondu markusk 2013-05-16 18:51:46

L'AWS CLI supporte maintenant le paramètre --query qui prend une expression JMESPath .

cela signifie que vous pouvez additionner les valeurs de taille données par list-objects en utilisant sum(Contents[].Size) et compter comme length(Contents[]) .

cela peut être exécuté en utilisant L'AWS CLI officiel comme ci-dessous et a été introduit dans février 2014

 aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"
22
répondu Christopher Hackett 2014-12-08 10:28:46

pour connaître la taille du godet S3 en utilisant la Console AWS:

  1. cliquez sur le nom du seau S3
  2. sélectionnez "onglet" Gestion
  3. cliquez sur" Metrics "bouton de navigation
  4. par défaut, vous devriez voir la métrique de stockage du seau

Espérons que cette aide.

11
répondu endriju 2017-05-01 22:07:21

sur la boîte linux qui ont python (avec pip installer), grep et awk , installer AWS CLI (outils en ligne de commande pour EC2, S3 et de nombreux autres services)

sudo pip install awscli

créez ensuite un fichier .awssecret dans votre dossier personnel avec le contenu ci-dessous (réglez la clé, le secret et la région au besoin):

[default]
aws_access_key_id=<YOUR_KEY_HERE>
aws_secret_access_key=<YOUR_SECRET_KEY_HERE>
region=<AWS_REGION>

faites ce fichier Lire-écrire à votre Utilisateur seulement:

sudo chmod 600 .awssecret

et l'exporter à votre environnement

 export AWS_CONFIG_FILE=/home/<your_name>/.awssecret

puis exécuter dans le terminal (c'est une commande en ligne simple, séparée par \ pour une lecture facile ici):

aws s3 ls s3://<bucket_name>/foo/bar | \
grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | \
awk 'BEGIN {total=0}{total+=}END{print total/1024/1024" MB"}'
  • la partie aws liste le seau (ou éventuellement un 'sous-dossier')
  • la partie grep supprime (en utilisant -v ) les lignes qui correspondent à l'Expression régulière (en utilisant -E ). ^$ est pour la ligne blanche, -- est pour les lignes de séparation dans la sortie de aws s3 ls
  • le dernier awk simplement total de la 3ème colonne de la sortie (la taille en KO), puis de l'afficher à la fin

NOTE cette commande fonctionne pour le courant seau ou un "dossier", et non pas de manière récursive

7
répondu JScoobyCed 2013-11-05 08:55:38

voir https://serverfault.com/questions/84815/how-can-i-get-the-size-of-an-amazon-s3-bucket

répondu par Vic...

<?php
if (!class_exists('S3')) require_once 'S3.php';

// Instantiate the class
$s3 = new S3('accessKeyId', 'secretAccessKey');
S3::$useSSL = false;

// List your buckets:
echo "S3::listBuckets(): ";
echo '<pre>' . print_r($s3->listBuckets(), 1). '</pre>';

$totalSize = 0;
$objects = $s3->getBucket('name-of-your-bucket');
foreach ($objects as $name => $val) {
    // If you want to get the size of a particular directory, you can do
    // only that.
    // if (strpos($name, 'directory/sub-directory') !== false)
    $totalSize += $val['size'];
}

echo ($totalSize / 1024 / 1024 / 1024) . ' GB';
?>
6
répondu JonLovett 2017-04-13 12:13:48

Cloud watch vous permet également de créer des paramètres pour votre seau S3. Il vous montre métriques par la taille et le nombre d'objets. Services> Outils de gestion > surveillance en nuage. Choisissez la région où se trouve votre seau S3 et les paramètres de taille et de nombre d'objets seront parmi les paramètres disponibles.

6
répondu rowelee 2015-09-22 21:09:17

Arriver grands seaux taille via l'API (aws cli ou s4cmd) est assez lente. Voici mon HowTo expliquant comment analyser le rapport D'utilisation de S3 utilisant bash one liner:

cat report.csv | awk -F, '{printf "%.2f GB %s %s \n", /(1024**3 )/24, , }' | sort -n
5
répondu Jakub Głazik 2015-04-28 21:56:50

en plus de la réponse de Christopher.

si vous avez besoin de compter la taille totale du seau versionné utiliser:

aws s3api list-object-versions --bucket BUCKETNAME --output json --query "[sum(Versions[].Size)]"

il compte à la fois les dernières versions et les versions archivées.

4
répondu ruletkin 2015-02-18 15:57:50

la console AWS ne vous montrera pas cela, mais vous pouvez utiliser Bucket Explorer ou Cloudberry Explorer pour obtenir la taille totale d'un seau. Les deux versions sont disponibles gratuitement.

Remarque: ces produits ont encore pour obtenir la taille de chaque objet, de sorte qu'il pourrait prendre un certain temps pour les seaux avec beaucoup d'objets.

1
répondu Geoff Appleford 2012-01-24 16:19:45

basé sur la réponse de @cudds:

function s3size()
{
    for path in $*; do
        size=$(aws s3 ls "s3://$path" --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=}END{printf "%.2fGb\n", (total/1024/1024/1024)}')
        echo "[s3://$path]=[$size]"
    done
}

...

$ s3size bucket-a bucket-b/dir
[s3://bucket-a]=[24.04Gb]
[s3://bucket-b/dir]=[26.69Gb]

aussi, Cyberduck permet commodément le calcul de la taille pour un seau ou un dossier.

1
répondu Evgeny Goldin 2014-07-02 18:36:27

Mini John 's réponse totalement fonctionné pour moi! Impressionnant... il fallait ajouter

--region eu-west-1 

de l'Europe, même si les

1
répondu pitxon_net 2017-05-23 11:54:37

c'est une vieille enquête, mais comme je cherchais la réponse, je suis tombé dessus. Certaines réponses m'ont rappelé que j'utilise le navigateur S3 pour gérer les données. Vous pouvez cliquer sur un seau et frapper propriétés et il vous montre le total. Assez simple. Je recommande vivement le navigateur: https://s3browser.com/default.aspx?v=6-1-1&fam=x64

1
répondu user7191982 2016-11-22 00:33:54

Eh bien, vous pouvez le faire aussi par l'intermédiaire d'un client S3 si vous préférez une interface utilisateur conviviale.

j'utilise CrossFTP , qui est libre et multiplate-forme, et là vous pouvez Droit-cliquer sur le répertoire de dossiers -> sélectionner " Propriétés..."- >cliquez sur" Calculer " bouton à côté de la taille et voila.

0
répondu Yiannis Tsimalis 2016-05-30 15:57:40

j'utilise Nuage de Tortue pour obtenir la taille de chacune des seaux. Si la taille du seau dépasse >100 Go, alors il faudrait un certain temps pour afficher la taille. Cloud turtle est un logiciel libre.

-2
répondu Sangram Anand 2013-10-25 19:35:37