- tocdepth
2
AWS CLI для работы с Object Storage
AWS CLI® — это интерфейс командной строки для работы с сервисами AWS. Для установки AWS CLI® скачайте дистрибутив на сайте разработчика.
Перед началом работы
Для доступа Object Storage потребуются:
Tenant ID
— идентификатор тенанта. ID тенанта можно скопировать в сервисе Object Storage платформы Evolution.Key ID
(логин) иKey Secret
(пароль) — формируются при создании персонального API-ключа или ключа сервисного аккаунта.Endpoint
— s3.cloud.ru.
Настройка
Для настройки AWS CLI® выполните следующие шаги:
Введите команду
aws configure
.Для параметра aws_access_key_id введите
<tenant_id>:<key_id>
.Для параметра aws_secret_access_key введите
<key_secret>
.Для параметра Default region name введите регион
ru-central-1
.
Команда aws configure
сохранит пару ключей в файле .aws/credentials
в формате:
[default]
aws_access_key_id = <tenant_id>:<key_id>
aws_secret_access_key = <key_secret>
Примеры команд
Примечание
AWS CLI® работает с Object Storage как с иерархической файловой системой. Ключи объектов имеют вид пути к файлу.
При запуске команды
aws
для работы с Object Storage обязателен параметр--endpoint-url=https://<endpoint>
, так как по умолчанию клиент настроен на работу с серверами Amazon Web Storage. В качестве<endpoint>
указывается адрес хранилищаs3.cloud.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
.
Была ли статья полезной?
для Dev & Test