Kecuali jika saya melewatkan sesuatu, sepertinya tidak ada API yang saya lihat yang akan memberi tahu Anda berapa banyak objek dalam bucket / folder S3 (awalan). Apakah ada cara untuk mendapat hitungan?
file
count
amazon-s3
amazon-web-services
bidang
sumber
sumber
Jawaban:
Tidak mungkin, kecuali Anda
daftar semuanya dalam batch 1000 (yang bisa lambat dan menyedot bandwidth - amazon sepertinya tidak pernah mengompres respons XML), atau
masuk ke akun Anda di S3, dan buka Akun - Penggunaan. Tampaknya dept penagihan tahu persis berapa banyak objek yang telah Anda simpan!
Cukup mengunduh daftar semua objek Anda sebenarnya akan memakan waktu dan biaya sejumlah uang jika Anda menyimpan 50 juta objek.
Lihat juga utas ini tentang StorageObjectCount - yang ada di data penggunaan.
S3 API untuk mendapatkan setidaknya dasar-dasarnya, bahkan jika itu sudah jam, akan lebih bagus.
sumber
Menggunakan AWS CLI
atau
Catatan: Perintah cloudwatch di atas tampaknya berfungsi untuk beberapa sementara tidak untuk yang lain. Dibahas di sini: https://forums.aws.amazon.com/thread.jspa?threadID=217050
Menggunakan AWS Web Console
Anda dapat melihat bagian metrik cloudwatch untuk mendapatkan kira-kira jumlah objek yang disimpan.
Saya memiliki sekitar 50 Juta produk dan butuh lebih dari satu jam untuk dihitung menggunakan
aws s3 ls
sumber
aws s3 ls s3://mybucket/mydirectory/ --recursive | wc -l
Ada
--summarize
saklar yang menyertakan informasi ringkasan ember (yaitu jumlah objek, ukuran total).Inilah jawaban yang benar menggunakan AWS cli:
Lihat dokumentasi
sumber
Total Objects: 7235
Total Size: 475566411749
- sangat mudah.Meskipun ini adalah pertanyaan lama, dan umpan balik diberikan pada tahun 2015, sekarang ini lebih sederhana, karena S3 Web Console telah mengaktifkan opsi "Dapatkan Ukuran":
Yang menyediakan berikut ini:
sumber
Jika Anda menggunakan alat baris perintah s3cmd , Anda bisa mendapatkan daftar rekursif dari ember tertentu, mengeluarkannya ke file teks.
Kemudian di linux Anda dapat menjalankan wc -l pada file untuk menghitung baris (1 baris per objek).
sumber
-r
in adalah untuk--recursive
, jadi itu juga bisa digunakan untuk sub-folder.aws s3 ls
daripada s3cmd karena lebih cepat. b.) Untuk ember besar perlu waktu lama. Butuh waktu sekitar 5 menit untuk file 1mil. c.) Lihat jawaban saya di bawah ini tentang menggunakan cloudwatch.Ada solusi mudah dengan API S3 sekarang (tersedia di AWS CLI):
atau untuk folder tertentu:
sumber
Illegal token value '(Contents[])]'
(versi 1.2.9 dari aws-cli), saat hanya menggunakan--bucket my-bucket
danA client error (NoSuchBucket) occurred when calling the ListObjects operation: The specified bucket does not exist
ketika menggunakan--bucket s3://my-bucket
. (Pasti ada, dan memiliki 1000+ file.)Anda dapat menggunakan metrik jam tangan AWS untuk s3 untuk melihat jumlah pasti untuk setiap kotak.
sumber
Buka Penagihan AWS, lalu laporkan, lalu laporan Penggunaan AWS. Pilih Amazon Simple Storage Service, lalu Operation StandardStorage. Kemudian Anda dapat mengunduh file CSV yang menyertakan UsageType of StorageObjectCount yang mencantumkan jumlah item untuk setiap ember.
sumber
Anda dapat dengan mudah mendapatkan jumlah total dan riwayat jika Anda pergi ke konsol "Manajemen" tab s3 dan kemudian klik pada "Metrik" ... Cuplikan layar tab
sumber
NumberOfObjects (count/day)
grafik? Akan lebih baik karena terkait langsung dengan pertanyaan. Di tangkapan layar, Anda menunjukkanBucketSizeBytes (bytes/day)
yang, meskipun bermanfaat, tidak terkait langsung dengan masalah tersebut.Api akan mengembalikan daftar dalam peningkatan 1000. Periksa properti IsTruncated untuk melihat apakah masih ada lagi. Jika ada, Anda perlu melakukan panggilan lain dan meneruskan kunci terakhir yang Anda dapatkan sebagai properti Marker pada panggilan berikutnya. Anda kemudian akan terus loop seperti ini sampai IsTruncated salah.
Lihat dokumen Amazon ini untuk info lebih lanjut: Iterasi Melalui Hasil Multi-Halaman
sumber
Utas lama, tetapi masih relevan ketika saya mencari jawabannya sampai saya baru menemukan jawabannya. Saya ingin jumlah file menggunakan alat berbasis GUI (yaitu tidak ada kode). Saya kebetulan sudah menggunakan alat yang disebut 3Hub untuk drag & drop transfer ke dan dari S3. Saya ingin tahu berapa banyak file yang saya miliki di ember tertentu (saya pikir penagihan tidak dapat dirobohkan dengan ember).
Saya memiliki 20521 file di ember dan menghitung file dalam waktu kurang dari satu menit.
sumber
Saya menggunakan skrip python dari scalablelogic.com (menambahkan dalam penghitungan logging). Bekerja dengan baik.
sumber
Di s3cmd, jalankan saja perintah berikut (pada sistem Ubuntu):
sumber
Jika Anda menggunakan AWS CLI pada Windows, Anda dapat menggunakan
Measure-Object
dari PowerShell untuk mendapatkan jumlah total file, sepertiwc -l
pada * nix.Semoga ini bisa membantu.
sumber
Salah satu cara paling sederhana untuk menghitung jumlah objek di s3 adalah:
Langkah1: Pilih folder root Langkah2: Klik Tindakan -> Hapus (Jelas, berhati-hatilah jangan menghapusnya) Langkah3: Tunggu beberapa menit saja akan menunjukkan jumlah objek dan ukuran totalnya.
UpVote jika Anda menemukan solusinya.
sumber
Tak satu pun dari API akan memberi Anda hitungan karena sebenarnya tidak ada API khusus Amazon untuk melakukan itu. Anda hanya perlu menjalankan daftar-isi dan menghitung jumlah hasil yang dikembalikan.
sumber
Dari baris perintah di AWS CLI, gunakan
ls plus --summarize
. Ini akan memberi Anda daftar semua item Anda dan jumlah total dokumen dalam ember tertentu. Saya belum mencoba ini dengan ember yang berisi sub-ember:Butuh agak lama (butuh daftar 16 + K dokumen saya sekitar 4 menit), tapi lebih cepat daripada menghitung 1K pada suatu waktu.
sumber
Bagaimana dengan analitik kelas penyimpanan S3 - Anda mendapatkan API serta konsol - https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
sumber
3Hub dihentikan. Ada solusi yang lebih baik, Anda dapat menggunakan Transmit (hanya Mac), kemudian Anda cukup menyambungkan ke ember Anda dan memilih
Show Item Count
dariView
menu.sumber
Anda dapat mengunduh dan menginstal browser s3 dari http://s3browser.com/ . Ketika Anda memilih sebuah ember di sudut kanan tengah, Anda dapat melihat jumlah file di dalam ember. Tapi, ukuran yang ditunjukkannya salah dalam versi saat ini.
Gubs
sumber
Cara termudah adalah dengan menggunakan konsol pengembang, misalnya, jika Anda menggunakan chrome, pilih Tools Developer, dan Anda dapat melihat yang berikut, Anda dapat menemukan dan menghitung atau melakukan kecocokan, seperti 280-279 + 1 = 2
...
sumber
Anda dapat berpotensi menggunakan inventaris Amazon S3 yang akan memberi Anda daftar objek dalam file csv
sumber
Saya menemukan alat browser S3 sangat user, ia menyediakan file dan folder dan jumlah total juga ukuran untuk folder apa pun secara rekursif
Tautan unduhan: https://s3browser.com/download.aspx
sumber
Dapat juga dilakukan dengan
gsutil du
(Ya, alat Google Cloud)sumber
Anda bisa menjalankan perintah cli ini untuk mendapatkan jumlah total file dalam bucket atau folder tertentu
Pindai seluruh ember
Anda dapat menggunakan perintah ini untuk mendapatkan detail
Pindai folder tertentu
sumber
Jika Anda mencari file tertentu, katakanlah
.jpg
gambar, Anda dapat melakukan hal berikut:sumber
Berikut ini adalah bagaimana Anda dapat melakukannya dengan menggunakan klien java.
sumber
Berikut versi boto3 dari skrip python yang tertanam di atas.
sumber
aws s3 ls s3: // bucket-name / folder-prefix-if-any --recursive | wc -l
sumber