J'ai un compte AWS. J'utilise S3 pour stocker des sauvegardes de différents serveurs. La question se pose de savoir si la console AWS contient des informations sur la quantité de disque utilisée par spase sur mon cloud S3?
Merci
Yippe - une mise à jour de l'AWS CLI vous permet de ler récursivement dans des compartiments ...
aws s3 ls s3://<bucketname> --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024" MB"}'
Je ne sais pas exactement quand cela a été ajouté à AWSCLI, vu que la question initiale était posée il y a 3 ans, mais l'outil en ligne de commande fournit un résumé de Nice en exécutant:
aws s3 ls s3://mybucket --recursive --human-readable --summarize
s3cmd peut vous montrer cela en exécutant s3cmd du
, en passant éventuellement le nom du compartiment en tant qu'argument.
AWS CLI prend désormais en charge le paramètre --query
qui prend un JMESPath expressions.
Cela signifie que vous pouvez additionner les valeurs de taille données par list-objects
en utilisant sum(Contents[].Size)
et les compter comme length(Contents[])
.
Ceci peut être exécuté à l'aide de l'AWS CLI officiel, comme ci-dessous, et a été introduit en Février 2014
aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"
Pour connaître la taille du compartiment S3 à l'aide de la console AWS:
J'espère que cela t'aides.
Sur les machines Linux qui ont python
(avec pip
installer), grep
et awk
, installez AWS CLI (outils de ligne de commande pour EC2, S3 et de nombreux autres services)
Sudo pip install awscli
créez ensuite un fichier .awssecret
dans votre dossier de base avec le contenu ci-dessous (ajustez la clé, le secret et la région selon vos besoins):
[default]
aws_access_key_id=<YOUR_KEY_HERE>
aws_secret_access_key=<YOUR_SECRET_KEY_HERE>
region=<AWS_REGION>
Rendre ce fichier en lecture-écriture à votre utilisateur uniquement:
Sudo chmod 600 .awssecret
et l'exporter dans votre environnement
export AWS_CONFIG_FILE=/home/<your_name>/.awssecret
puis exécutez dans le terminal (il s’agit d’une commande simple ligne, séparée par \
pour faciliter la lecture ici):
aws s3 ls s3://<bucket_name>/foo/bar | \
grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | \
awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024" MB"}'
aws
liste le compartiment (ou éventuellement un «sous-dossier»)grep
supprime (à l'aide de -v
) les lignes qui correspondent à l'expression régulière (à l'aide de -E
). ^$
est pour la ligne vide, --
est pour les lignes de séparation dans la sortie de aws s3 ls
awk
ajoute simplement à total
la 3ème colonne de la sortie résultante (la taille en Ko) puis l'affiche à la finNOTEcette commande fonctionne pour le compartiment ou 'dossier' actuel, pas de manière récursive
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';
?>
Cloud Watch vous permet également de créer des métriques pour votre compartiment S3. Il vous montre les 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 compartiment S3 et les mesures de taille et de nombre d'objets figureront parmi celles disponibles.
Obtenir la taille large des seaux via l'API (aws cli ou s4cmd) est assez lent. Voici mon HowTo expliquant comment analyser le rapport d'utilisation S3 en utilisant bash one liner:
cat report.csv | awk -F, '{printf "%.2f GB %s %s \n", $7/(1024**3 )/24, $4, $2}' | sort -n
En plus de la réponse de Christopher.
Si vous devez compter la taille totale de l’utilisation du compartiment versionné:
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.
C'est une vieille enquête, mais comme je cherchais la réponse, je l'ai trouvée. Certaines réponses m'ont rappelé que j'utilisais S3 Browser pour gérer les données. Vous pouvez cliquer sur un compartiment et cliquer sur les propriétés pour afficher le total. Assez simple. Je recommande fortement le navigateur: https://s3browser.com/default.aspx?v=6-1-1&fam=x64
La console AWS ne vous montrera pas cela, mais vous pouvez utiliser Bucket Explorer ou Cloudberry Explorer pour obtenir la taille totale d'un compartiment. Les deux ont des versions gratuites disponibles.
Remarque: ces produits doivent toujours avoir la taille de chaque objet. Par conséquent, les seaux contenant de nombreux objets peuvent prendre beaucoup de temps.
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+=$3}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]
En outre, Cyberduck permet commodément de calculer la taille d’un seau ou d’un dossier.
La réponse de Mini John a totalement fonctionné pour moi! Génial ... a dû ajouter
--region eu-west-1
de l'Europe si
s3 admin est une application open source qui vous permet de parcourir les compartiments, de calculer la taille totale et d’afficher les fichiers les plus volumineux. Il est conçu pour avoir un aperçu rapide de vos seaux et de leur utilisation.
Vous pouvez également le faire via un client S3 si vous préférez une interface utilisateur conviviale.
J'utilise CrossFTP , qui est gratuit et multiplate-forme. Vous pouvez y cliquer avec le bouton droit de la souris sur le répertoire du dossier -> sélectionner "Propriétés ..." -> cliquer sur le bouton "Calculer" en regard de Taille et le tour est joué.
Vous avez demandé: des informations dans la console AWS sur la quantité d'espace disque utilisée sur mon cloud S3 ?
Je tellement au Billing Dashboard et vérifie l'utilisation de S3 dans la facture actuelle.
Ils vous donnent les informations - MTD - en Go à 6 décimales, IOW, jusqu'au niveau Kb.
Il est ventilé par région, mais il est assez facile de les additionner (en supposant que vous utilisiez plus d'une région).
BTW: Vous aurez peut-être besoin d'autorisations IAM spécifiques pour accéder aux informations de facturation.