Evolution
Тема интерфейса

AWS CLI для работы с Object Storage

Эта статья полезна?

AWS CLI® — это интерфейс командной строки для работы с сервисами AWS. Для установки AWS CLI® скачайте дистрибутив на сайте разработчика.

Перед началом работы

Для доступа к Object Storage подготовьте:

  • Endpointhttps://s3.cloud.ru.

Настройка

  1. Введите команду aws configure.

  2. Для параметра aws_access_key_id введите <tenant_id>:<key_id>.

  3. Для параметра aws_secret_access_key введите <key_secret>.

  4. Для параметра 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 s3api create-bucket --endpoint-url https://<endpoint> --bucket <bucket_name>

    Где:

    • <endpoint> — адрес хранилища.

    • <bucket_name> — название бакета.

    Для включения блокировок используйте метод Object Lock.

  • Получить список бакетов:

    aws s3api list-buckets --endpoint-url https://<endpoint> --query "Buckets[].Name"

    Где <endpoint> — адрес хранилища.

  • Загрузить объект:

    aws s3api put-object --endpoint-url https://<endpoint> --bucket <bucket_name> --key <object_key> --body </path/to/object.ext>

    Где:

    • <endpoint> — адрес хранилища.

    • <bucket_name> — название бакета.

    • <object_key> — ключ объекта.

    • </path/to/object.extention> — полный путь до объекта.

    Внимание

    По умолчанию загружаемому объекту присваивается класс STANDARD. Подробнее о классах хранения. Чтобы присвоить объекту класс ICE или COLD, укажите его в параметре --storage-class.

  • Получить список объектов:

    aws s3api list-objects-v2 --endpoint-url https://<endpoint> --bucket <bucket_name>

    Где:

    • <endpoint> — адрес хранилища.

    • <bucket_name> — название бакета.

  • Создание преподписанной ссылки для доступа к объекту с заданным временем жизни:

    aws s3 presign --endpoint-url https://<endpoint> s3://<bucket_name>/<object_key> --expires-in <time>

    Где:

    • <endpoint> — адрес хранилища.

    • <bucket_name> — название бакета.

    • <object_key> — ключ объекта.

    • <time> — время жизни ссылки в секундах.

Чтобы посмотреть и проанализировать проблемы, добавьте к команде параметр --debug.

Подробнее с информацией о команде можно ознакомиться на сайте разработчика.

С полным списком команд для AWS CLI® можно ознакомиться на сайте разработчика. Также доступна встроенная справочная система, которую можно вызвать командой aws help.