Saya memiliki beberapa akun AWS dan saya harus mendaftar semua ember S3 per akun dan kemudian melihat setiap ukuran total ember.
Saat ini, saya hanya dapat melihat ukuran penyimpanan satu ember S3 dengan:
aws s3 ls s3://mybucket --recursive --human-readable --summarize
Jawaban:
Resolusi 1
Jadi saya memecahkan ini dengan skrip berikut. Saya awalnya memposting pertanyaan kalau-kalau ada cara yang lebih mudah yang tidak saya sadari.
Resolusi 2
Menggunakan Dashboard di CloudWatch di konsol AWS.
Anda kemudian dapat dengan mudah menentukan semua ember S3 dan menambahkan statistik angka untuk menunjukkan metrik ukuran penyimpanan.
Ini tidak akan dikenakan biaya banyak panggilan API dan dapat secara signifikan lebih cepat tergantung pada ukuran ember s3 (butuh beberapa saat untuk mendapatkan ukuran pada ember yang sangat besar).
Putusan
Membuat Dasbor ( Resolusi 2 ) pada setiap akun AWS adalah opsi paling efisien bagi saya karena cara ini lebih cepat bagi saya untuk masuk dan mengambil metrik secara manual dari setiap akun AWS daripada menunggu skrip panggilan API selesai. :(
sumber
| awk END'{print}'
?[@]
di"${buckets[@]}"
berarti?Anda harus menulis skrip yang mem-parsing dan menanyakan data ini karena sejauh yang saya ketahui, tidak ada alat atau fungsi klien yang melakukan ini. Untungnya, Anda dapat mengumpulkan semua informasi ini dengan CLI.
Daftar dan parsing semua akun di org Anda.
Untuk setiap akun, daftarkan dan parsing semua kotak.
Terakhir, dapatkan ukuran setiap ember dalam setiap akun. Anda dapat menggunakan perintah cli yang sama seperti sebelumnya, tetapi berhati-hatilah bahwa Anda akan membuat daftar ukuran masing-masing dari setiap item dalam ember. Anda juga dapat menggunakan perintah cli ini untuk mendapatkan ukuran bucket.
sumber
Anda harus menulis skrip untuk melakukan ini kecuali ada alat untuk melakukannya yang tidak dapat saya temukan.
Jika Anda bekerja dengan beberapa akun aws, Anda harus beralih antar akun untuk mendapatkan ukuran bucket.
Untuk mendapatkan semua ember dan ukuran totalnya, Anda dapat menggunakan ' aws s3api '. Dengan menggunakan
list-buckets
Anda bisa mendapatkan semua ember di satu akun dan Anda akan dapat membuat daftar ukurannya dan mencoba akun berikutnya.sumber
Tak satu pun dari ini menunjukkan ukuran ember jika Versi dihidupkan dan sejumlah besar data telah "dihapus". Di konsol S3 GUI, tab Metrik menunjukkan untuk apa Anda ditagih.
Menghapus perintah berikut dari skrip yang ditemukan di /server/84815/how-can-i-get-the-size-of-an-amazon-s3-bucket . Ini bekerja dengan baik pada Windows. Pengganti
yourregion
danyourbucketname
:aws cloudwatch get-metric-statistics --namespace AWS/S3 --start-time 2019-05-09T00:01:00Z --end-time 2019-05-11T23:59:00Z --period 86400 --statistics Average --region yourregion --metric-name BucketSizeBytes --dimensions Name=BucketName,Value=yourbucketname Name=StorageType,Value=StandardStorage
Ini memberikan ukuran rata-rata dalam byte selama beberapa hari yang dibatasi oleh waktu mulai dan berakhir. Hasilnya dapat mengejutkan Anda jika bucket Anda mengaktifkan Versi (aktif) dan Anda merasa telah "menghapus" sejumlah besar data.
Untuk membersihkan bucket yang mendukung Versi, Anda harus menetapkan aturan LifeCycle. Anda dapat memilih untuk menghapus Versi Sebelumnya secara permanen. Anda dapat menghilangkan kotak centang pada langkah Transisi.
sumber