AWS hesabım var. S3'ü farklı sunuculardan yedekleri depolamak için kullanıyorum. Soru, AWS konsolunda S3 bulutumda ne kadar disk alanı kullanıldığına dair herhangi bir bilgi var mı?
AWS hesabım var. S3'ü farklı sunuculardan yedekleri depolamak için kullanıyorum. Soru, AWS konsolunda S3 bulutumda ne kadar disk alanı kullanıldığına dair herhangi bir bilgi var mı?
Yanıtlar:
Yippe - AWS CLI'ye yönelik bir güncelleme, kovalar arasında yinelemeli olarak izlemeye olanak tanır ...
aws s3 ls s3://<bucketname> --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024" MB"}'
aws cloudwatch get-metric-statistics --namespace AWS/S3 --start-time 2015-07-15T10:00:00 --end-time 2015-07-31T01:00:00 --period 86400 --statistics Average --region eu-west-1 --metric-name BucketSizeBytes --dimensions Name=BucketName,Value=toukakoukan.com Name=StorageType,Value=StandardStorage
Önemli: Boyutlar bağımsız değişkeninde hem StorageType hem de BucketName belirtmelisiniz, aksi takdirde sonuç almazsınız.
Orijinal sorunun 3 yıl önce olduğu düşünüldüğünde bunun AWSCLI'ye ne zaman eklendiğinden emin değilim, ancak komut satırı aracı şunu çalıştırarak güzel bir özet veriyor:
aws s3 ls s3://mybucket --recursive --human-readable --summarize
for b in $(aws s3 ls | awk '{ print $NF }'); do printf "$b "; aws s3 ls s3://$b --recursive --human-readable --summarize | tail -1; done
AWS Konsolunu kullanarak S3 paketinin boyutunu öğrenmek için:
Bu yardımcı olur umarım.
ls
temelli çözümlerin yakalayamadığı, asılı eksik yüklemeleri yakalayacağını unutmayın.
s3cmd bunu çalıştırarak s3cmd du
, isteğe bağlı olarak paket adını bağımsız değişken olarak ileterek size gösterebilir .
AWS CLI artık JMESPath ifadeleri alan --query
parametreyi desteklemektedir .
Bu, list-objects
kullanarak verilen beden değerlerini sum(Contents[].Size)
toplayıp beğenebileceğiniz anlamına gelir length(Contents[])
.
Bu, aşağıdaki gibi resmi AWS CLI kullanılarak çalıştırılabilir ve Şubat 2014'te tanıtılmıştır
aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"
In function sum(), invalid type for value: None, expected one of: ['array-number'], received: "null"
Aksi takdirde sorgu harika çalışır!
AWS CLI (EC2, S3 ve diğer birçok hizmet için komut satırı araçları ) bulunan python
( pip
yükleyiciyle) grep
ve yükleyen linux kutusundaawk
sudo pip install awscli
daha sonra .awssecret
ana klasörünüzde aşağıdaki içeriğe sahip bir dosya oluşturun (anahtar, sırrı ve bölgeyi gerektiği gibi ayarlayın):
[default]
aws_access_key_id=<YOUR_KEY_HERE>
aws_secret_access_key=<YOUR_SECRET_KEY_HERE>
region=<AWS_REGION>
Bu dosyayı yalnızca kullanıcınız için okuma-yazma yapın:
sudo chmod 600 .awssecret
ve bunu ortamınıza aktarın
export AWS_CONFIG_FILE=/home/<your_name>/.awssecret
daha sonra terminalde çalıştırın (bu, \
burada kolay okumak için ile ayrılmış tek satırlık bir komuttur ):
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
bölüm (isteğe bağlı olarak bir ya da "alt dizinin) kova listelergrep
(kullanarak parça kaldırır -v
) Düzenli İfade (kullanarak eşleşen satırlar -E
). ^$
boş satır içindir, --
çıktıdaki ayırıcı satırlar içindir.aws s3 ls
awk
ekleyin total
(boyut KB olarak) ve sonunda onu görüntüleyinNOT Bu komut, yinelemeli olarak değil, geçerli paket veya "klasör" için çalışır
Bkz. Https://serverfault.com/questions/84815/how-can-i-get-the-size-of-an-amazon-s3-bucket
Vic tarafından cevaplandı ...
<?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';
?>
echo ($totalSize / 1024 / 1024 / 1024) . ' GB';
, kaynak kodun hemen altında.
Alma büyük Kovalar (ya aws s4cmd cli veya) API üzerinden boyutu oldukça yavaştır. İşte bash one liner kullanarak S3 Kullanım Raporunun nasıl ayrıştırılacağını açıklayan HowTo'um:
cat report.csv | awk -F, '{printf "%.2f GB %s %s \n", $7/(1024**3 )/24, $4, $2}' | sort -n
AWS konsolu size bunu göstermeyecek ancak bir paketin toplam boyutunu elde etmek için Bucket Explorer veya Cloudberry Explorer'ı kullanabilirsiniz. Her ikisinin de ücretsiz sürümleri mevcuttur.
Not: Bu ürünlerin yine de her bir nesnenin boyutunu alması gerekir, bu nedenle çok sayıda nesne içeren kovalar için uzun zaman alabilir.
@ Cudds'ın cevabına göre:
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]
Ayrıca Cyberduck , bir kova veya klasör için boyut hesaplamasına rahatlıkla izin verir.
Mini John'un cevabı tamamen benim için çalıştı! Harika ... eklemek zorunda kaldı
--region eu-west-1
Yine de Avrupa'dan
Bu eski bir soruşturma, ancak cevabı aradığım için onunla karşılaştım. Bazı yanıtlar, verileri yönetmek için S3 Tarayıcı kullandığımı hatırlattı. Bir kovaya tıklayıp özellikleri tıklayabilirsiniz ve size toplamı gösterir. Gayet basit. Tarayıcıyı şiddetle tavsiye ederim: https://s3browser.com/default.aspx?v=6-1-1&fam=x64
İnsan dostu bir kullanıcı arayüzü tercih ediyorsanız, bunu bir S3 istemcisi aracılığıyla da yapabilirsiniz.
Ücretsiz ve çapraz platform olan CrossFTP kullanıyorum ve orada klasör dizinine sağ tıklayıp -> "Özellikler ..." i seçin -> Boyut ve işin yanındaki "Hesapla" düğmesine tıklayın.
Siz sordunuz: AWS konsolunda S3 bulutumda ne kadar disk alanı kullanıldığına dair bilgiler ?
Faturalama Panosuna gidiyorum ve cari faturadaki S3 kullanımını kontrol ediyorum .
Size bilgiyi - MTD - Gb'den 6 ondalık basamağa kadar, IOW, Kb seviyesinde verir.
Bölgeye göre bölünmüştür, ancak onları toplamak (birden fazla bölge kullandığınızı varsayarsak) yeterince kolaydır.
BTW: Fatura bilgilerine ulaşmak için belirli IAM izinlerine ihtiyacınız olabilir.
Tek tek paketlerin boyutunu elde etmek için Cloud Turtle kullanıyorum . Paket boyutu> 100 Gb'yi aşarsa, boyutun görüntülenmesi biraz zaman alır. Bulut kaplumbağası ücretsiz bir yazılımdır.