AWS CLI
AWS CLI (AWS Command Line Interface) — это интерфейс командной строки для работы с сервисами AWS.
Через AWS CLI можно работать с S3 API.
Настроить AWS CLI
1. Настроить доступ
Настроить доступ может пользователь с ролью Владелец аккаунта или Администратор пользователей.
- Создайте сервисного пользователя с ролью с доступом в объектное хранилище, подробнее в подразделе Доступ в рамках ролевой модели.
- Выдайте пользователю S3-ключ.
2. Установить клиент
Используйте инструкцию Install or update to the latest version of the AWS CLI документации Amazon.
3. Создать конфигурацию AWS CLI
-
Откройте терминал.
-
Откройте режим конфигурирования:
aws configure
-
Введите
AWS Access Key ID
— значение поля Access key из S3-ключа. -
Введите
AWS Secret Access Key
— значение поля Secret key из S3-ключа. -
Введите
Default region name
— пул (ru-1). -
Настройки будут сохранены в конфигурационных файлах:
-
учетные данные в
.aws/credentials
:[default]
aws_access_key_id = <access_key>
aws_secret_access_key = <secret_key> -
пул по умолчанию в
.aws/config
:[default]
region = ru-1
-
-
Если вы хотите использовать Virtual-Hosted адресацию, в конфигурационный файл
.aws/config
добавьте параметр:[default]
s3 =
addressing_style = virtual
Работа с AWS CLI
Синтаксис команд смотрите в инструкции AWS документации Amazon.
Для работы с объектным хранилищем через AWS CLI используйте:
- s3api — команды, соответствующие операциям в REST API;
- s3 — дополнительные команды, упрощающие работу с большим количеством объектов.
При запуске команды aws
обязателен параметр --endpoint-url=https://s3.ru-1.storage.selcloud.ru
, где ru-1
— п ул.
Создать контейнер
Создайте контейнер:
aws --endpoint-url=https://s3.ru-1.storage.selcloud.ru s3 mb s3://<container_name>
Укажите:
ru-1
— пул;<container_name>
— имя нового контейнера.
Посмотреть список объектов
Посмотрите список объектов:
aws --endpoint-url=https://s3.ru-1.storage.selcloud.ru s3 ls --recursive s3://<container_name>
Укажите:
ru-1
— пул;<container_name>
— имя контейнера.
Загрузить объект
Загрузите файлы в хранилище:
aws --endpoint-url=https://s3.ru-1.storage.selcloud.ru s3 cp <object_name> s3://<container_name>/
Укажите:
ru-1
— пул;<object_name>
— имя объекта;<container_name>
— имя контейнера.
Удалить объект
Удалите объект:
aws --endpoint-url=https://s3.ru-1.storage.selcloud.ru s3 rm s3://<container_name>/<object_name>
Укажите:
ru-1
— пул;<container_name>
— имя контейнера;<object_name>
— имя объекта.