AWS CLI для S3 VMware
AWS CLI® — это интерфейс командной строки для работы с сервисами AWS.
Для установки AWS CLI® скачайте дистрибутив на сайте разработчика.
До начала работы
Получите реквизиты доступа к Объектному хранилищу (endpoint, access Key, Secret Key). Если у вас нет реквизитов доступа, обратитесь в техническую поддержку.
Настройка
Для настройки AWS CLI® используйте команду aws configure и заполните значения для следующих параметров:
AWS Access Key ID: идентификатор ключа access Key, который вы получили при создании бакета.
WS Secret Access Key: секретный ключ Secret Key, который вы получили при создании бакета.
Default region name: оставьте незаполненным.
Команда aws configure сохранит в файле .aws/credentials пару ключей в формате:
[default]aws_access_key_id = <id>aws_secret_access_key = <secretKey>
Примеры команд
AWS CLI® работает с Объектным хранилищем как с иерархической файловой системой и ключи объектов будут иметь вид пути к файлу.
При запуске команды aws для работы с Объектным хранилищем обязателен параметр --endpoint-url=https://<endpoint>, так как по умолчанию клиент настроен на работу с серверами Amazon Web Storage. В качестве <endpoint> указывается адрес хранилища, например: a1.s3.sbercloud.ru.
// Создать бакетaws --endpoint-url=https://<endpoint> s3 mb s3://bucket-name// Загрузить все объекты из локального каталога:aws --endpoint-url=https://<endpoint> s3 cp --recursive my-files/s3://bucket-name/path/// Загрузить объекты, описанные в фильтре --include, и пропустить объекты, описанные в фильтре --exclude:aws --endpoint-url=https://<endpoint> \s3 cp --recursive --exclude "*" --include "*.log" \my-files/ s3://bucket-name/path/// Загрузить объекты по одному, запуская для каждого объекта команду следующего вида:aws --endpoint-url=https://<endpoint> \s3 cp testfile.txt s3://bucket-name/path/textfile.txt// Получить список объектовaws --endpoint-url=https://<endpoint> \s3 ls --recursive s3://bucket-name// Удалить все объекты с заданным префиксом:aws --endpoint-url=https://<endpoint> \s3 rm s3://bucket-name/path/ --recursive// Удалить объекты, описанные в фильтре --include, и пропустить объекты, описанные в фильтре --exclude:aws --endpoint-url=https://<endpoint> \s3 rm s3://bucket-name/path/ --recursive \--exclude "*" --include "*.log"// Удалить объекты по одному, запуская для каждого объекта команду следующего вида:aws --endpoint-url=https://<endpoint> \s3 rm s3://bucket-name/path/textfile.txt// Удалить бакет и все объекты в нем:aws s3 --endpoint-url=https://<endpoint> rb s3://bucket-name --force// Получить объектaws --endpoint-url=https://<endpoint> \s3 cp s3://bucket-name/textfile.txt textfile.txt
С полным списком команд для AWS CLI® вы можете ознакомиться на сайте разработчика. Также доступна встроенная справочная система, которую можно вызвать командой aws help.
Объектное хранилище S3 позволяет настроить автоматическое удаление объектов с помощью политики жизненного цикла. Это помогает автоматизировать рутинные операции по удалению объектов и сэкономить на вызовах API, которые тарифицируются.