Saya memiliki akun AWS. Saya menggunakan S3 untuk menyimpan cadangan dari server yang berbeda. Pertanyaannya apakah ada informasi di konsol AWS tentang berapa banyak ruang disk yang digunakan di cloud S3 saya?
Saya memiliki akun AWS. Saya menggunakan S3 untuk menyimpan cadangan dari server yang berbeda. Pertanyaannya apakah ada informasi di konsol AWS tentang berapa banyak ruang disk yang digunakan di cloud S3 saya?
Jawaban:
Hore - pembaruan untuk AWS CLI memungkinkan Anda untuk secara rekursif melalui keranjang ...
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
Penting: Anda harus menentukan StorageType dan BucketName dalam argumen dimensi jika tidak, Anda tidak akan mendapatkan hasil.
Saya tidak yakin kapan ini ditambahkan ke AWSCLI mengingat pertanyaan asli adalah 3 tahun yang lalu, tetapi alat baris perintah memberikan ringkasan yang bagus dengan menjalankan:
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
Untuk mengetahui ukuran bucket S3 menggunakan AWS Console:
Semoga ini membantu.
ls
solusi berbasis tidak.
s3cmd dapat menunjukkan ini kepada Anda dengan menjalankan s3cmd du
, secara opsional meneruskan nama bucket sebagai argumen.
AWS CLI sekarang mendukung --query
parameter yang mengambil ekspresi JMESPath .
Ini berarti Anda dapat menjumlahkan nilai ukuran yang diberikan dengan list-objects
menggunakan sum(Contents[].Size)
dan menghitung suka length(Contents[])
.
Ini dapat dijalankan menggunakan AWS CLI resmi seperti di bawah ini dan diperkenalkan pada Feb 2014
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"
Jika tidak, kueri berfungsi dengan baik!
Di kotak linux yang memiliki python
(dengan pip
penginstal), grep
dan awk
, instal AWS CLI (alat baris perintah untuk EC2, S3, dan banyak layanan lainnya)
sudo pip install awscli
lalu buat .awssecret
file di home folder anda dengan konten seperti dibawah ini (sesuaikan key, secret dan region sesuai kebutuhan):
[default]
aws_access_key_id=<YOUR_KEY_HERE>
aws_secret_access_key=<YOUR_SECRET_KEY_HERE>
region=<AWS_REGION>
Jadikan file ini baca-tulis hanya untuk pengguna Anda:
sudo chmod 600 .awssecret
dan mengekspornya ke lingkungan Anda
export AWS_CONFIG_FILE=/home/<your_name>/.awssecret
kemudian jalankan di terminal (ini adalah perintah baris tunggal, dipisahkan oleh \
agar mudah dibaca di sini):
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
bagian daftar ember (atau opsional 'sub-folder')grep
bagian menghilangkan (menggunakan -v
) baris yang cocok dengan Regular Expression (menggunakan -E
). ^$
adalah untuk baris kosong, --
adalah untuk garis pemisah pada keluaranaws s3 ls
awk
cukup tambahkan ke total
kolom ke-3 dari output yang dihasilkan (ukuran dalam KB) lalu tampilkan di bagian akhirCATATAN perintah ini berfungsi untuk keranjang atau 'folder' saat ini, tidak secara rekursif
Cloud watch juga memungkinkan Anda membuat metrik untuk bucket S3 Anda. Ini menunjukkan kepada Anda metrik berdasarkan ukuran dan jumlah objek. Layanan> Alat Manajemen> Jam Cloud. Pilih wilayah tempat bucket S3 Anda berada dan metrik ukuran dan jumlah objek akan berada di antara metrik yang tersedia.
Lihat /server/84815/how-can-i-get-the-size-of-an-amazon-s3-bucket
Dijawab oleh 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';
?>
echo ($totalSize / 1024 / 1024 / 1024) . ' GB';
ini ada di bagian bawah kode sumber.
Selain jawaban Christopher.
Jika Anda perlu menghitung ukuran total penggunaan bucket berversi:
aws s3api list-object-versions --bucket BUCKETNAME --output json --query "[sum(Versions[].Size)]"
Ini menghitung versi Terbaru dan Diarsipkan.
Mendapatkan ukuran bucket yang besar melalui API (baik aws cli atau s4cmd) cukup lambat. Inilah HowTo saya menjelaskan cara mengurai Laporan Penggunaan S3 menggunakan bash one liner:
cat report.csv | awk -F, '{printf "%.2f GB %s %s \n", $7/(1024**3 )/24, $4, $2}' | sort -n
Konsol AWS tidak akan menunjukkan ini kepada Anda, tetapi Anda dapat menggunakan Bucket Explorer atau Cloudberry Explorer untuk mendapatkan ukuran total dari sebuah ember. Keduanya memiliki versi gratis yang tersedia.
Catatan: produk ini masih harus mendapatkan ukuran masing-masing objek, sehingga bisa memakan waktu lama untuk bucket dengan banyak objek.
Berdasarkan jawaban @ 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]
Selain itu, Cyberduck memungkinkan penghitungan ukuran untuk sebuah ember atau folder dengan mudah.
Jawaban Mini John benar-benar berhasil untuk saya! Luar biasa ... harus menambahkan
--region eu-west-1
dari Eropa sekalipun
Ini adalah pertanyaan lama, tetapi karena saya sedang mencari jawabannya, saya menemukannya. Beberapa jawaban membuat saya ingat saya menggunakan S3 Browser untuk mengelola data. Anda dapat mengklik ember dan menekan properti dan itu menunjukkan kepada Anda total. Cukup mudah. Saya sangat merekomendasikan peramban: https://s3browser.com/default.aspx?v=6-1-1&fam=x64
Nah, Anda juga bisa melakukannya melalui klien S3 jika Anda lebih suka UI yang ramah manusia.
Saya menggunakan CrossFTP , yang gratis dan lintas platform, dan di sana Anda dapat mengklik kanan pada direktori folder -> pilih "Properties ..." -> klik tombol "Calculate" di sebelah Size dan voila.
Anda bertanya: informasi di konsol AWS tentang berapa banyak ruang disk yang digunakan di cloud S3 saya ?
Saya begitu ke Billing Dashboard dan memeriksa penggunaan S3 di tagihan saat ini .
Mereka memberi Anda informasi - MTD - dalam Gb hingga 6 poin desimal, IOW, hingga level Kb.
Ini dipecah berdasarkan wilayah, tetapi menambahkannya (dengan asumsi Anda menggunakan lebih dari satu wilayah) cukup mudah.
BTW: Anda mungkin memerlukan izin IAM khusus untuk mendapatkan informasi Penagihan.
Saya menggunakan Cloud Turtle untuk mendapatkan ukuran masing-masing ember. Jika ukuran bucket melebihi> 100 Gb, maka perlu beberapa waktu untuk menampilkan ukuran tersebut. Penyu awan adalah freeware.