Ich habe ein AWS-Konto. Ich verwende S3, um Backups von verschiedenen Servern zu speichern. Die Frage ist, ob in der AWS-Konsole Informationen darüber enthalten sind, wie viel Festplattenspeicher auf meiner S3-Cloud verwendet wird.
Vielen Dank
Yippe - ein Update für AWS CLI ermöglicht das rekursive Durchlaufen von Buckets ...
aws s3 ls s3://<bucketname> --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024" MB"}'
Ich bin nicht sicher, wann dies zu AWSCLI hinzugefügt wurde, da die ursprüngliche Frage vor 3 Jahren bestand. Das Befehlszeilentool gibt jedoch eine schöne Zusammenfassung, wenn Sie Folgendes ausführen:
aws s3 ls s3://mybucket --recursive --human-readable --summarize
s3cmd kann dies zeigen, indem Sie s3cmd du
ausführen und optional den Bucketnamen als Argument übergeben.
Die AWS-CLI unterstützt jetzt den --query
-Parameter, der einen JMESPath -Ausdruck benötigt.
Das heißt, Sie können die durch list-objects
angegebenen Größenwerte mit sum(Contents[].Size)
summieren und wie length(Contents[])
zählen.
Dies kann mit der offiziellen AWS-CLI wie folgt ausgeführt werden und wurde in Feb 2014 eingeführt.
aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"
So ermitteln Sie die Größe des S3-Buckets mithilfe der AWS Console:
Hoffe das hilft.
Auf Linux-Boxen, die python
(mit pip
-Installationsprogramm), grep
und awk
haben, installieren Sie AWS CLI (Befehlszeilentools für EC2, S3 und viele andere Dienste)
Sudo pip install awscli
erstellen Sie anschließend eine .awssecret
-Datei in Ihrem Home-Ordner mit dem unten angegebenen Inhalt (passen Sie Schlüssel, Schlüssel und Region nach Bedarf an):
[default]
aws_access_key_id=<YOUR_KEY_HERE>
aws_secret_access_key=<YOUR_SECRET_KEY_HERE>
region=<AWS_REGION>
Machen Sie diese Datei nur für Ihren Benutzer lesbar:
Sudo chmod 600 .awssecret
und exportieren Sie es in Ihre Umgebung
export AWS_CONFIG_FILE=/home/<your_name>/.awssecret
dann im Terminal laufen (dies ist ein einzeiliger Befehl, getrennt durch \
zum einfachen Lesen hier):
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
-Teil listet den Bucket (oder optional einen 'Unterordner') auf.grep
-Teil entfernt (mit -v
) die Zeilen, die mit dem regulären Ausdruck übereinstimmen (mit -E
). ^$
steht für leere Zeile, --
steht für die Trennzeilen in der Ausgabe von aws s3 ls
awk
fügt einfach die 3. Spalte der resultierenden Ausgabe (die Größe in KB) zu total
hinzu und zeigt sie am Ende anNOTEDieser Befehl funktioniert für den aktuellen Bucket oder Ordner, nicht rekursiv
Siehe https://serverfault.com/questions/84815/how-can-i-get-the-size-of-an-Amazon-s3-bucket
Beantwortet von 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';
?>
Mit Cloud Watch können Sie auch Metriken für Ihren S3-Bucket erstellen. Es zeigt Ihnen Metriken nach Größe und Objektanzahl. Services> Management Tools> Cloud-Überwachung. Wählen Sie den Bereich aus, in dem sich Ihr S3-Bucket befindet, und die Metriken für Größe und Objektanzahl wären unter diesen verfügbaren Metriken.
Das Erhalten der Größe large Buckets über die API (entweder aws cli oder s4cmd) ist ziemlich langsam. Hier ist mein HowTo, um zu erklären, wie man den S3 Usage Report analysiert bash one Liner verwendet:
cat report.csv | awk -F, '{printf "%.2f GB %s %s \n", $7/(1024**3 )/24, $4, $2}' | sort -n
Neben Christopher Antwort.
Wenn Sie die Gesamtgröße des versionierten Buckets zählen müssen, verwenden Sie Folgendes:
aws s3api list-object-versions --bucket BUCKETNAME --output json --query "[sum(Versions[].Size)]"
Es zählt sowohl die neuesten als auch die archivierten Versionen.
Dies ist eine alte Anfrage, aber da ich nach der Antwort suchte, bin ich darauf gestoßen. An einige Antworten erinnerte ich mich, dass ich S3-Browser zum Verwalten von Daten verwende. Sie können auf einen Bucket klicken und auf Eigenschaften klicken, und es wird Ihnen die Gesamtsumme angezeigt. Ziemlich einfach. Ich kann den Browser nur wärmstens empfehlen: https://s3browser.com/default.aspx?v=6-1-1&fam=x64
Die AWS-Konsole zeigt dies nicht an, aber Sie können Bucket Explorer oder Cloudberry Explorer verwenden, um die Gesamtgröße eines Buckets zu ermitteln. Beide haben freie Versionen zur Verfügung.
Hinweis: Diese Produkte müssen immer noch die Größe jedes einzelnen Objekts erhalten, daher kann es bei Eimern mit vielen Objekten sehr lange dauern.
Basierend auf der Antwort von @ 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]
Mit Cyberduck können Sie bequem die Größe eines Eimers oder eines Ordners berechnen.
Die Antwort von Mini John hat für mich funktioniert! Super ... musste hinzufügen
--region eu-west-1
aus Europa aber
s3 admin ist eine Open Source App (UI), mit der Sie Buckets durchsuchen, die Gesamtgröße berechnen und die größten/kleinsten Dateien anzeigen können. Es ist für einen schnellen Überblick über Ihre Eimer und deren Verwendung zugeschnitten.
Nun, Sie können dies auch über einen S3-Client durchführen, wenn Sie eine benutzerfreundliche Benutzeroberfläche bevorzugen.
Ich benutze CrossFTP , das kostenlos und plattformübergreifend ist. Dort können Sie mit der rechten Maustaste auf das Verzeichnis des Ordners klicken -> "Eigenschaften ..." auswählen -> Klicken Sie neben "Größe" auf "Berechnen".
Sie haben gefragt: Informationen in der AWS-Konsole darüber, wie viel Speicherplatz in meiner S3-Cloud belegt ist ?
Ich gehe also zum Rechnungs-Dashboard und überprüfe die S3-Nutzung in der aktuellen Rechnung.
Sie geben Ihnen die Informationen - MTD - in GB bis zu 6 Dezimalstellen (IOW) auf der Ebene Kb an.
Die Aufschlüsselung nach Regionen ist jedoch einfach (vorausgesetzt, Sie verwenden mehr als eine Region).
Übrigens: Möglicherweise benötigen Sie spezielle IAM-Berechtigungen, um zu den Rechnungsinformationen zu gelangen.