Подключение к Объектному хранилищу S3 через сторонние интерфейсы

Подключение к Объектному хранилищу S3 через сторонние сервисы упрощает управление данными, автоматизацию, резервное копирование и публикацию контента. Такие инструменты, как AWS CLI, S3cmd и S3 Browser, позволяют загружать файлы, управлять бакетами и настраивать доступ к ним.

Подключение через S3 API

Чтобы подключиться к Объектному хранилищу S3 через S3 API:

  1. Выберите проект, в котором подключено Объектное хранилище S3.
  2. Создайте сервисный аккаунт с нужной ролью.
  3. В сервисном аккаунте на вкладке Статические ключи для Объектного хранилища S3 AZ0 или Статические ключи Объектного хранилища S3 AZ1 (в зависимости от того, какое хранилище используется) нажмите на кнопку + Создать.
  4. Введите Описание * ключа.
  5. Нажмите на кнопку Создать.
  6. Отобразятся Access key и Secret key. Сохраните их и нажмите на кнопку Закрыть.
  7. Добавьте правила доступа к нужным бакетам для созданного сервисного аккаунта.

Адрес Endpoint

При обращении к Объектному хранилищу S3 через сторонние сервисы используются следующие адреса Endpoint:


Адрес Endpoint
Объектное хранилище S3 AZ0https://api.s3.dp.t1.cloud
Объектное хранилище S3 AZ1https://api.s3.az1.t1.cloud

Подключение через S3cmd

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

Установка S3cmd

Для установки S3cmd воспользуйтесь инструкцией в репозитории проекта.

Настройка S3cmd

Для настройки S3cmd используйте команду:

s3cmd --configure

Команда запросит значения параметров и сохранит их в файле ~/.s3cfg:

Программа попытается установить соединение с Объектным хранилищем S3 и получить список бакетов. В случае успеха на экране появится сообщение «Success».

Команда s3cmd --configure сохранит настройки в файле ~/.s3cfg в формате:

[default] access_key = DXJREYL6OIFFI0BGTVMJ secret_key = vD4Wrn3SgJQcfo0HsNIz1GWyVHWFpOCRiI5UCFBf bucket_location = dc3 host_base = api.s3.az1.t1.cloud host_bucket = %(bucket)s.api.s3.az1.t1.cloud

При необходимости вы можете изменить значения параметров в файле ~/.s3cfg.

Синтаксис команд S3cmd

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

  • создание бакета:

    s3cmd mb s3://<имя бакета>

    где:

    • <имя бакета> — название создаваемого бакета;

  • загрузка объекта в бакет:

    s3cmd put <путь к файлу>\<имя файла> s3://<имя бакета>/<путь к объекту>

    где:

    • <путь к файлу> локальный путь к файлу. Например, C:\Users\Administrator\Documents\Images;
    • <имя файла> — название загружаемого файла с расширением. Например, photo.jpg;
    • <имя бакета> — название бакета, в который загружается объект.

      1. В главном меню портала выберите Объектные хранилища → Объектное хранилище S3 AZ0 или Объектное хранилище S3 AZ1.
      2. Скопируйте имя нужного бакета в столбце Название бакета.
    • <путь к объекту> — путь к объекту в бакете. Напримерdocument/images. Если объект загружается в корень бакета, то данный параметр не указывается;

  • получение списка объектов бакета:

    s3cmd ls s3://<имя бакета>

    где:

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

      1. В главном меню портала выберите Объектные хранилища → Объектное хранилище S3 AZ0 или Объектное хранилище S3 AZ1.
      2. Скопируйте имя нужного бакета в столбце Название бакета.
  • скачивание объекта:

    s3cmd get s3://<имя бакета>/<путь к объекту>/<объект> <путь к файлу>\<имя файла>

    где:

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

      1. В главном меню портала выберите Объектные хранилища → Объектное хранилище S3 AZ0 или Объектное хранилище S3 AZ1.
      2. Скопируйте имя нужного бакета в столбце Название бакета.
    • <путь к объекту> — путь к объекту в бакете. Например, document/images. Если объект находится в корне бакета, то данный параметр не указывается;
    • <объект> — название объекта с расширением. Например, image1.png;
    • <путь к файлу> — локальный путь, по которому сохранится объект. Например, C:\Users\Administrator\Documents\Images;
    • <имя файла> — новое название для скачиваемого объекта. Например, new_image.png. Объект не сохранится, если по пути, указанному в параметре <путь к файлу>, уже существует файл с названием скачиваемого объекта. Параметр <имя файла> не указывается, если не нужно переименовывать объект;
  • удаление объекта:

    s3cmd rm s3://<имя бакета>/<путь к объекту> <объект>

    где:

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

      1. В главном меню портала выберите Объектные хранилища → Объектное хранилище S3 AZ0 или Объектное хранилище S3 AZ1.
      2. Скопируйте имя нужного бакета в столбце Название бакета.
    • <путь к объекту> — путь к объекту в бакете. Например, document/images. Если объект находится в корне бакета, то данный параметр не указывается;
    • <объект> — название объекта с расширением. Например, image1.png. Если параметр <объект> не указан, то удалятся все объекты по пути, указанному в параметре <путь к объекту>.

Полный список команд см. в официальной документации S3cmd.