С помощью утилиты S3cmd можно управлять бакетами и объектамиОбъектного хранилища S3через интерфейс командной строки.
УтилитуS3cmdможно установить на сервер с ОС Ubuntu, CentOS, macOS, Windows и т.д. Полный список ОС, дистрибутивы и инструкции по их установке см. в официальной документации S3cmd.
Вы можетесоздать/удалить бакет, загрузить/скачать/удалить объекты, настроить доступ к объектам и бакетам и т.д. Для этого:
Default Region — зона доступности, в которой расположено Объектное хранилище S3. Укажите dc1 для зоны AZ0, dc3 для зоны AZ1 или dc4 для зоны MZ1;
S3 Endpoint — адрес Endpoint без https://:
api.s3.dp.t1.cloud — для Объектного хранилища S3 AZ0;
api.s3.az1.t1.cloud — для Объектного хранилища S3 AZ1;
api4.s3.mz1.t1.cloud — для Объектного хранилища S3 MZ1;
DNS-style bucket+hostname:port template for accessing a bucket — %(bucket)s.<адрес Endpoint без https://>. Например, %(bucket)s.api.s3.az1.t1.cloud;
значения остальных параметров оставьте без изменений.
Программа попытается установить соединение сОбъектным хранилищем S3и получить список бакетов. В случае успеха на экране появится сообщение «Success».
Значения параметров сохраняются в файле .s3cfg в формате:
При необходимости вы можете изменить значения параметров в файле .s3cfg с помощью текстового редактора GNU nano:
Основные команды и правила использования текстового редактора GNU nano см. в официальной документации.
Синтаксискоманд S3cmd
Сервисный аккаунт может выполнять действия с бакетами и объектами, к которым у него есть доступ.
В командной строке S3cmd можно выполнить следующие команды:
где:
<имя бакета>— название бакета;
<путь к объекту>— путь к объекту в бакете. Например, document/images. Указывается, если нужно посмотреть содержимое папки бакета.
где:
<имя бакета> — название создаваемого бакета.
где:
<путь к файлу> — локальный путь к файлу на сервере. Например, files/photos;
<имя файла> — название загружаемого файла с расширением. Например, photo.png;
<имя бакета> — название бакета, в который загружается объект;
<путь к объекту> — путь к объекту в бакете. Например, document/images. Если объект загружается в корень бакета, то данный параметр не указывается. Если папки, указанные в <путь к объекту>, ещё не созданы, они создадутся автоматически при загрузке объекта в бакет;
<объект> — название объекта с расширением. Например, image1.png. Если параметр <объект> не указан, то сохранится исходное название файла.
где:
<имя бакета> — название бакета, в котором находится объект для скачивания;
<путь к объекту> — путь к объекту в бакете. Например, document/images. Если объект находится в корне бакета, то данный параметр не указывается;
<объект> — название объекта с расширением. Например, image1.png;
<путь к файлу> — локальный путь, по которому объект сохранится на сервере. Например, files/photos;
<имя файла> — новое название для скачиваемого объекта. Например, new_image.png. Объект не сохранится, если по пути, указанному в параметре <путь к файлу>, уже существует файл с названием скачиваемого объекта. Параметр <имя файла> не указывается, если не нужно переименовывать объект.
где:
<имя бакета> — название бакета;
<путь к объекту> — путь к объекту в бакете. Например, document/images. Если объект находится в корне бакета, то данный параметр не указывается;
<объект> — название объекта с расширением. Например, image1.png. Если параметр <объект> не указан, то удалятся все объекты по пути, указанному в параметре <путь к объекту>.
где:
<имя бакета> — название бакета, в котором нужно удалить все объекты.