Если я что-то не упустил, похоже, что ни один из API, на которые я смотрел, не скажет вам, сколько объектов находится в корзине / папке S3 (префикс). Есть ли способ получить счет?
155
Если я что-то не упустил, похоже, что ни один из API, на которые я смотрел, не скажет вам, сколько объектов находится в корзине / папке S3 (префикс). Есть ли способ получить счет?
Ответы:
Нет пути, если только ты
перечислите их все партиями по 1000 (что может быть медленным и отнять пропускную способность - похоже, amazon никогда не сжимает ответы XML), или
войдите в свою учетную запись на S3 и перейдите в раздел Учетная запись - Использование. Кажется, отдел биллинга точно знает, сколько объектов вы сохранили!
Простая загрузка списка всех ваших объектов на самом деле займет некоторое время и будет стоить денег, если у вас будет храниться 50 миллионов объектов.
Также посмотрите эту ветку о StorageObjectCount, который находится в данных об использовании.
S3 API, чтобы получить хотя бы основы, даже если бы это было часами, было бы здорово.
источник
Использование AWS CLI
или
Примечание: приведенная выше команда cloudwatch, похоже, работает для некоторых, но не для других. Обсуждено здесь: https://forums.aws.amazon.com/thread.jspa?threadID=217050
Использование AWS Web Console
Вы можете посмотреть метрический раздел cloudwatch, чтобы получить приблизительное количество сохраненных объектов.
У меня есть около 50 миллионов продуктов, и для их использования потребовалось более часа.
aws s3 ls
источник
aws s3 ls s3://mybucket/mydirectory/ --recursive | wc -l
Существует
--summarize
переключатель, который включает в себя сводную информацию (например, количество объектов, общий размер).Вот правильный ответ, используя AWS cli:
Смотри документацию
источник
Total Objects: 7235
Total Size: 475566411749
так легко.Хотя это старый вопрос, и обратная связь была получена в 2015 году, сейчас все гораздо проще, поскольку в веб-консоли S3 включена опция «Получить размер»:
Который обеспечивает следующее:
источник
Если вы используете инструмент командной строки s3cmd , вы можете получить рекурсивный список определенного сегмента, выводя его в текстовый файл.
Затем в Linux вы можете запустить wc -l для файла, чтобы подсчитать количество строк (1 строка на объект).
источник
-r
in предназначена для--recursive
, поэтому она должна работать и для подпапок.aws s3 ls
вместо s3cmd, потому что это быстрее. б.) Для больших ведер это может занять много времени. Потребовалось около 5 минут для 1 млн файлов. c.) Смотрите мой ответ ниже об использовании cloudwatch.Теперь есть простое решение с S3 API (доступно в разделе AWS):
или для конкретной папки:
источник
Illegal token value '(Contents[])]'
(версия 1.2.9 из aws-cli), когда просто использую--bucket my-bucket
иA client error (NoSuchBucket) occurred when calling the ListObjects operation: The specified bucket does not exist
когда использую--bucket s3://my-bucket
. (Он определенно существует и имеет более 1000 файлов.)Вы можете использовать показатели AWS cloudwatch для s3, чтобы увидеть точное количество для каждого сегмента.
источник
Перейдите в раздел AWS Billing, затем отчеты, затем отчеты об использовании AWS. Выберите Amazon Simple Storage Service, затем «Операция StandardStorage». Затем вы можете загрузить CSV-файл, который содержит UsageType для StorageObjectCount, в котором перечисляется количество элементов для каждого сегмента.
источник
Вы можете легко получить общее количество и историю, если перейдете на вкладку «Управление» консоли s3, а затем нажмите «Метрики» ... Снимок экрана с вкладкой
источник
NumberOfObjects (count/day)
график? Было бы лучше, так как это напрямую связано с вопросом. На скриншоте вы показываете,BucketSizeBytes (bytes/day)
что, хотя и полезно, но не имеет прямого отношения к проблеме.API вернет список с шагом 1000. Проверьте свойство IsTruncated, чтобы увидеть, есть ли еще. Если есть, вам нужно сделать еще один вызов и передать последний ключ, который вы получили в качестве свойства Marker при следующем вызове. Затем вы продолжите цикл, пока IsTruncated не станет ложным.
См. Этот документ Amazon для получения дополнительной информации: итерация по многостраничным результатам
источник
Старая тема, но все еще актуальна, так как я искал ответ, пока я только не понял это. Я хотел, чтобы количество файлов с помощью инструмента на основе графического интерфейса (т.е. без кода). Я уже использую инструмент под названием 3Hub для перетаскивания в S3. Я хотел знать, сколько файлов у меня было в определенном ведре (я не думаю, что биллинг разбивает его на ведра).
У меня было 20521 файлов в корзине, и я сделал подсчет файлов менее чем за минуту.
источник
Я использовал скрипт на python от scalablelogic.com (добавление в журнал учета). Работал отлично.
источник
В s3cmd просто запустите следующую команду (в системе Ubuntu):
источник
Если вы используете AWS CLI в Windows, вы можете использовать
Measure-Object
из PowerShell для получения общего количества файлов, какwc -l
в * nix.Надеюсь, поможет.
источник
Один из самых простых способов подсчитать количество объектов в s3:
Шаг 1. Выберите корневую папку. Шаг 2. Нажмите «Действия» -> «Удалить» (очевидно, будьте осторожны, не удаляйте ее). Шаг 3. Подождите несколько минут. AWS покажет вам количество объектов и их общий размер.
UpVote, если вы найдете решение.
источник
Ни один из API не даст вам счет, потому что на самом деле не существует специального API Amazon для этого. Вы просто должны запустить список содержимого и подсчитать количество результатов, которые возвращаются.
источник
Из командной строки в AWS CLI используйте
ls plus --summarize
. Это даст вам список всех ваших предметов и общее количество документов в конкретном ведре. Я не пробовал это с ведрами, содержащими вложенные ведра:Это займет немного времени (заняло перечисление моих 16 + K документов за 4 минуты), но это быстрее, чем подсчет 1K за раз.
источник
Как насчет аналитики класса хранилища S3 - вы получаете как API, так и консоль - https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
источник
3Hub прекращен. Есть лучшее решение: вы можете использовать Transmit (только для Mac), а затем просто подключиться к своему ведру и выбрать
Show Item Count
изView
меню.источник
Вы можете скачать и установить браузер s3 с http://s3browser.com/ . Когда вы выбираете корзину в центральном правом углу, вы можете увидеть количество файлов в корзине. Но размер, который он показывает, неверен в текущей версии.
Gubs
источник
Самый простой способ - использовать консоль разработчика, например, если вы используете Chrome, выберите «Инструменты разработчика», и вы увидите следующее, вы можете либо найти и сосчитать, либо выполнить какое-то совпадение, например 280-279 + 1 = 2
...
источник
Вы можете использовать инвентарь Amazon S3, который предоставит вам список объектов в CSV-файле.
источник
Я нашел инструмент браузера S3 очень удобным, он предоставляет файлы и папки, а также общее количество и размер для любой папки.
Ссылка для скачивания: https://s3browser.com/download.aspx
источник
Это также можно сделать с помощью
gsutil du
(да, инструмент Google Cloud)источник
Вы можете просто выполнить эту команду cli, чтобы получить общее количество файлов в корзине или определенной папке
Сканирование всего ведра
Вы можете использовать эту команду, чтобы получить подробную информацию
Сканирование определенной папки
источник
Если вы ищете конкретные файлы, скажем,
.jpg
изображения, вы можете сделать следующее:источник
Ниже описано, как вы можете сделать это с помощью Java-клиента.
источник
Вот версия boto3 скрипта Python, встроенного выше.
источник
aws s3 ls s3: // имя-корзины / префикс-папки-если-любой --recursive | туалет
источник