Amazon Simple Storage Service (S3) хранит данные в виде обьектов (англ. objects) в ресурсах под названием корзины (англ. buckets).
Каждый объект в Amazon S3 состоит из ключа (имени файла), данных и метаданных, описывающих этот объект.
Amazon S3 позволяет хранить и извлекать данные через API по HTTPS из командной строки с помощью AWS CLI.
В этой заметке я покажу, как вывести список Amazon S3-корзин и объектов с помощью команды aws s3 ls
в AWS CLI..
Список S3-Корзин в AWS
Вывести список всех S3-корзин, принадлежащих текущему пользователю:
$ aws s3 ls
Вывести список S3-корзин, доступных указанному профилю:
$ aws --profile <profile_name> s3 ls
Профиль По Умолчанию: Каждый раз, когда вы хотите указать AWS-профиль для использования, вы должны вызывать команду AWS с параметром --profile
или вы можете установить переменную окружения AWS_DEFAULT_PROFILE
. Если эта переменная не задана или параметр --profile
не установлен, то AWS CLI будет использовать профиль с именем default
.
Список Объектов в S3-Корзине в AWS
Вывести список объектов в S3-корзине:
$ aws s3 ls s3://<bucket_name>
Список объектов в указанной «папке» в S3-корзине:
$ aws s3 ls s3://<bucket_name>/<folder_name>/
Папки в S3-Корзине: На самом деле, в S3-корзинах не существует понятия папок. В отличии от иерархической файловой системы, Amazon S3 имеет плоскую структуру. Иллюзия файлов внутри папок внутри других папок вызвана именами файлов вида: dirA/dirB/file
.
Перечислить все объекты в корзине S3, включая все файлы во всех «папках», с их размерами в удобочитаемом формате и summary в конце (количеством объектов и общим размером):
$ aws s3 ls --recursive --summarize --human-readable s3://<bucket_name>
С помощью аналогичного запроса можно также перечислить все объекты только в указанной «папкой»:
$ aws s3 ls --recursive --summarize --human-readable s3://<bucket_name>/<folder_name>/
Обратите Внимание: Слеш (/
) в конце имени «папки» в приведенных выше примерах — обязателен.