s3cmd
s3cmd — консольная утилита для Linux и MacOS, которую можно использовать для работы с Object Storage.
Подготовка к работе
- Cоздайте сервисный аккаунт.
- Назначьте сервисному аккаунту роль
storage.bucket.editorили выше. - Создайте HMAC-ключ.
- Скопируйте и сохраните обе части HMAC-ключа:
Access keyиSecret key. - Установите s3cmd.
Настройка
Выполните команду:
bash
s3cmd --configureВведите значения параметров:
Access Key— значениеAccess keyиз HMAC-ключа (пример —_Ukpnpw3RiCx3iuPhn-t);Secret Key— значениеSecret keyиз HMAC-ключа (пример —3LIK2LbwYqER7oGr3cX4WSC31YN83yZnDgcXyjewX);Default Region— регион по умолчанию (укажитеru-central1);S3 Endpoint—storage.mwsapis.ru;DNS-style bucket+hostname:port template for accessing a bucket— формат URL для доступа к бакетам (укажите%(bucket)s.storage.mwsapis.ru).
Как только вы введете все параметры, s3cmd попытается установить соединение с хранилищем. Если соединение будет успешно установлено, вы увидите следующее сообщение:
Success. Your access key and secret key worked fine :-).Конфигурационные файлы
Параметры, указанные при настройке, сохраняются в конфигурационном файле ~/.s3cfg:
bash
[default]
access_key = <Access key из HMAC-ключа>
secret_key = <Secret key из HMAC-ключа>
bucket_location = ru-central1
host_base = storage.mwsapis.ru
host_bucket = %(bucket)s.storage.mwsapis.ruПримеры команд
Создать бакет
bash
s3cmd mb s3://<имя бакета>Загрузить объект в бакет
bash
s3cmd put local_file s3://<имя бакета>/<ключ объекта>Скачать объект из бакета
bash
s3cmd get s3://bucket/<путь к локальной директории, в которую нужно скачать объект>Получить список объектов в бакете
bash
s3cmd ls s3://<имя бакета>Удалить объект
bash
s3cmd del s3://<имя бакета>/<ключ объекта>