Перейти к основному содержимому
S3cmd
Последнее изменение:

S3cmd

S3cmd — это интерфейс командной строки для работы с сервисами, поддерживающими HTTP API Amazon S3 (S3 API).

Настроить S3cmd

  1. Настройте доступ.
  2. Установите клиент.
  3. Создайте конфигурацию S3cmd.

1. Настроить доступ

Настроить доступ может пользователь с ролью Владелец аккаунта или Администратор пользователей.

  1. Создайте сервисного пользователя с ролью с доступом в объектное хранилище. Если вы используете пользователя с ролью Пользователь объектного хранилища, в контейнере должна быть настроена политика доступа.
  2. Выдайте пользователю S3-ключ.

2. Установить клиент

С GitHub S3cmd скачайте и установите клиент.

3. Создать конфигурацию s3cmd

  1. Откройте терминал.

  2. Откройте режим конфигурирования:

    s3cmd --configure
  3. Введите Access Key — значение поля Access key из S3-ключа.

  4. Введите Secret Key — значение поля Secret key из S3-ключа.

  5. Введите Default Region — пул.

  6. Введите S3 Endpoint — домен S3 API, зависит от пула, в котором находится объектное хранилище.

  7. Введите DNS-style bucket+hostname:port template for accessing a bucket — домен S3 API, зависит от пула, в котором находится объектное хранилище. Настройки будут сохранены в файле ~/.s3cfg:

    [default]
    access_key = <access_key>
    secret_key = <secret_key>
    bucket_location = <pool>
    host_base = <s3_domain>
    host_bucket = <s3_domain>

Работа с S3cmd

Посмотреть все команды можно в инструкции Usage документации S3cmd.

Создать контейнер

Создайте контейнер:

s3cmd mb s3://<container_name>

Укажите <container_name> — имя нового контейнера.

Посмотреть список объектов

Посмотрите список объектов:

s3cmd ls s3://<container_name>

Укажите <container_name> — имя контейнера.

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

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

s3cmd put <path> s3://<container_name>/<prefix>

Укажите:

  • <path> — путь до файла в локальной директории;
  • <container_name> — имя контейнера;
  • <prefix> — опционально: префикс, по которому будет загружен объект.

Удалить объект

Удалите объект:

s3cmd rm s3://<container_name>/<object_name>

Укажите:

  • <container_name> — имя контейнера;
  • <object_name> — имя объекта.