Как я могу узнать, сколько объектов я сохранил в корзине S3? - PullRequest
111 голосов
/ 19 мая 2010

Если я что-то не упустил, похоже, что ни один из API, на которые я смотрел, не скажет вам, сколько объектов находится в корзине / папке S3 (префикс). Есть ли способ подсчитать?

Ответы [ 23 ]

2 голосов
/ 16 февраля 2014

Старая тема, но все еще актуальна, так как я искал ответ, пока я только не понял это. Я хотел подсчитать количество файлов с помощью инструмента на основе графического интерфейса (т.е. без кода). Я уже использую инструмент под названием 3Hub для перетаскивания в S3. Я хотел знать, сколько файлов у меня было в определенном сегменте (я не думаю, что биллинг разбивает его по сегментам).

So, using 3Hub, 
- list the contents of the bucket (looks basically like a finder or explorer window)
- go to the bottom of the list, click 'show all'
- select all (ctrl+a)
- choose copy URLs from right-click menu
- paste the list into a text file (I use TextWrangler for Mac) 
- look at the line count  

У меня в корзине было 20521 файлов, и я подсчитал количество файлов менее чем за минуту.

1 голос
/ 05 января 2015

Я использовал скрипт Python из scalablelogic.com (добавление в журнал учета). Работал отлично.

#!/usr/local/bin/python

import sys

from boto.s3.connection import S3Connection

s3bucket = S3Connection().get_bucket(sys.argv[1])
size = 0
totalCount = 0

for key in s3bucket.list():
    totalCount += 1
    size += key.size

print 'total size:'
print "%.3f GB" % (size*1.0/1024/1024/1024)
print 'total count:'
print totalCount
1 голос
/ 19 мая 2010

Ни один из API не даст вам счет, потому что на самом деле не существует специального API Amazon для этого. Вам нужно просто запустить список содержимого и подсчитать количество возвращаемых результатов.

1 голос
/ 23 января 2019

Если вы используете AWS CLI в Windows, вы можете использовать Measure-Object из PowerShell для получения общего количества файлов, как wc -l в * nix.

PS C:\> aws s3 ls s3://mybucket/ --recursive | Measure-Object

Count    : 25
Average  :
Sum      :
Maximum  :
Minimum  :
Property :

Надеюсь, это поможет.

0 голосов
/ 07 июля 2019

Вы можете просто выполнить эту команду cli, чтобы получить общее количество файлов в корзине или определенной папке

Сканирование всего ведра

aws s3api list-objects-v2 --bucket testbucket | grep "Key" | wc -l
aws s3api list-objects-v2 --bucket BUCKET_NAME | grep "Key" | wc -l

вы можете использовать эту команду для получения подробной информации

aws s3api list-objects-v2 --bucket BUCKET_NAME

Сканирование определенной папки

aws s3api list-objects-v2 --bucket testbucket --prefix testfolder --start-after testfolder/ | grep "Key" | wc -l

aws s3api list-objects-v2 --bucket BUCKET_NAME --prefix FOLDER_NAME --start-after FOLDER_NAME/ | grep "Key" | wc -l
0 голосов
/ 09 мая 2019

Также можно сделать с помощью gsutil du (Да, инструмент Google Cloud)

gsutil du s3://mybucket/ | wc -l
0 голосов
/ 12 июня 2018

Как насчет аналитики класса хранилища S3 - вы получаете как API, так и консоль - https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html

0 голосов
/ 20 сентября 2018

Я нашел браузер S3 очень удобным, он предоставляет файлы и папки, а также общее количество рекурсивно для каждой папки

Ссылка для скачивания: https://s3browser.com/download.aspx

0 голосов
/ 17 мая 2018

Вы можете использовать инвентарь Amazon S3, который предоставит вам список объектов в CSV-файле

0 голосов
/ 18 августа 2014

3Hub больше не выпускается. Есть лучшее решение: вы можете использовать Transmit (только для Mac), а затем просто подключиться к своей корзине и выбрать Show Item Count в меню View.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...