Выбираем лучший S3-клиент под Windows для работы с облаком Яндекса
Опубликовано 18 окт. 2023 г.
Я уже описывал в одной из своих предыдущих статей одну из проблем Яндекс Облака. Их объектное хранилище не может принять в себя папки и папки внутри папок. Скинуть файлы в Object Storage перетаскиванием можно, но если эти файлы у вас находятся в папках, то придется создавать их там вручную, что совсем неудобно. К слову, хранилище от Selectel, например, хотя бы поддерживает возможность скидывания в облако архива в формате .tar
и его автоматического разархивирования. У Yandex Cloud такого нет, но зато есть возможность спокойно сконнектиться со своим бакетом1 с помощью клиентов для работы с S3-совместимыми объектными хранилищами.
Самые большие любители хардкора могут сделать это с помощью консольных клиентов, типа AWS CLI, или с использованием SDK для своей среды разработки, но обычным ребятам, таким как я, больше по душе графические клиенты - старые добрые окна, куда можно перетаскивать файлы и папки. В этой статье я расскажу о трех самых популярных графических клиентах для работы S3-совместимыми хранилищами для Windows, о том, как их соединить с Yandex Cloud, а также расскажу о своем опыте работы с каждым из них в Яндекс Облаке.
Но для начала
Для начала нужно будет проделать одну операцию на Облаке, которая будет нужна нам для работы со всеми клиентами. Нам нужно получить у Яндекса ключи, которые дадут нам возможность соединиться с нашим бакетом.
Для этого делаем нам нужно создать сервисный аккаунт и только потом мы получим ключи. Вот как это сделать:
- В консоли управления Яндекс Облака выбираем строку с именем каталога, в котором вы хотите создать сервисный аккаунт. Как правило, если не менять его название при создании, то он будет называться default .
- В верхней части экрана переходим на вкладку Сервисные аккаунты , где вверху жмем на кнопку Создать сервисный аккаунт .
- Далее заполняем данные
- вводим имя сервисного аккаунта.
- назначаем ему роль. Я выбирал примитивную роль админа, поскольку никому эти данные для других задач передавать не собирался. Вот тут список и функции всех ролей
- подтверждаем создание сервисного аккаунта
- После этого нажимаем на строку только что созданного сервисного аккаунта, а затем кнопку Создать новый ключ на верхней панели, после чего в выпадающем меню выбираем Создать статический ключ доступа.
- Задайте описание ключа, чтобы его можно было идентифицировать, и нажмите кнопку Создать. В появившемся окне можно будет скопировать идентификатор и секретный ключ. Последний лучше сохранить себе куда-нибудь, так как после закрытия окна, его значение будет недоступно.
Помимо ключа и идентификатора вам для всех S3-клиентов нужны будет еще два параметра: имя хоста или адрес сервера (называется в разных клиентах по-разному) и порт. Первое, у Yandex Cloud - storage.yandexcloud.net, а второе - 443. Других значений у этих параметров нет, а идентификация конкретных бакетов будет происходить за счет идентификатора и ключа сервисного аккаунта, которые мы получили с вами выше по тексту.
WinSCP. Хороший, плохой
Один из самых популярных графических FTP-клиентов для Windows. Скачать его можно на сайте разработчика. После установки открываем клиент и подключаемся к Облаку:
- Протокол передачи: выберите Amazon S3.
- Имя хоста: укажите storage.yandexcloud.net.
- Идентификатор ключа доступа Access Key ID: указываем тот, что вы получили на шаге 5 выше в этой статье.
- Секретный ключ доступа Secret Access Key: секретный ключ, который вы получили на шаге 5 выше в этой статье.
- Нажимаем Connect.
Соединяемся и можем спокойно кидать и файлы и папки с любой вложенностью в наш бакет, загрузка происходит быстро, проблем с соединением обычно не наблюдается.
Что у меня?
У меня отношения с WinSCP не заладились с самого начала. После того, как я закинул в свой бакет файлы, на моем пробном сайте полностью отключились все интерактивные функции - переключатель темного режима, фильтры, подгрузка постов и так далее. Консоль браузера показывала кучу ошибок, связанную с тем, что все мои скрипты загрузились с неправильным MIME-типом - вместо «text/javascript» почему-то получился «text/plain». Гуглование мне ничем не помогло, поддержка Облака тоже. И я решил не испытывать судьбу, а обратиться к другому S3-клиенту
Cyber Duck. Почти могучая утка…
Бесплатный файловый менеджер для macOS, Linux и Windows.«Цифровая утка» поддерживает протоколы FTP, AmazonS3 и другие. Скачать CyberDuck также можно на сайте разработчика. После установки программы, действуем по той же схеме: открываем и подключаемся к бакету.
- Тип подключения: выбираем Amazon S3.
- Сервер: указываем storage.yandexcloud.net.
- Порт: пишем 443.
- Access Key ID: указываем тот, что вы получили на шаге 5 выше в этой статье.
- Пароль: секретный ключ, который вы получили на шаге 5 выше в этой статье.
- Нажимаем Подключиться.
Как только подключение будет установлено, вы увидите список созданных бакетов. Разобраться с простым интерфейсом программы не сложно, а о дополнительных функциях можно прочитать на сайте разработчика.
Что у меня?
В отличие от WinSCP, к моей радости, Cyber Duck прекрасно перекинул файлы в Облако, не допустив изменения типа данных. И я уже был готов остаться с ним навсегда, однако, когда я решил попробовать настроить синхронизацию между локальной папкой с билдом проекта и удаленным бакетом, то получил отключение программы. Она просто выключилась. Повторные попытки установить синхронизацию также ни к чему не приводили. Уже потом я стал обращать внимание, что и запускается Cyber Duck слишком долго, иногда вообще не запускается, хотя в диспетчере винды видно, что активно аж несколько экземпляров программы. Возможно моя Windows 10 кривая, или мои руки, но мне все-таки пришлось продолжить поиск адекватного бесплатного S3-клиента, без всех вышеобозначенных проблем
S3 Browser. Я тебя ждал…
Как понятно из названия этого софта, данный клиент создан только для работы с S3-совместимыми объектными хранилищами. Чтобы ее скачать, нужно пройти на сайт разработчика. После скачивания, устанавливаем программу, открываем и вводим уже знакомые нам данные.
- Account type: выберите S3 Compatible Storage.
- REST Endpoint: указываем storage.yandexcloud.net.
- Access Key ID: идентификатор ключа, полученный нами на шаге 5 выше в этой статье.
- Secret Access Key: секретный ключ, полученный нами на шаге 5 выше в этой статье.
- Жмем Add New Account.
На моем компьютере, мне работа S3 Browser показалась самой быстрой и удобной. Как работать с программой более подробно можно почитать на сайте разработчика. Там все тоже очень просто, как и в других клиентах.
Что у меня?
На мой взгляд, S3 Browser - отличная программа. Работает быстро, открывается, скидывает файлы и папки. Самодеятельностью в виде изменения MIME не занимается. Более того, только в этой программе я смог настроить синхронизацию между локальной папкой и Облаком
То, что мне подошел S3 Browser не говорит о том, что и вам он придется по душе. Возможно у вас будут беспроблемно работать WinSCP или Cyber Duck. А возможно вы со временем вообще перейдете на консольную передачу данных в свой бакет, там тоже есть свои преимущества. В следующей статье я расскажу, как немного упростил с помощью S3 Browser работу с Yandex Cloud в части перекидывания готовых билдов своего сайта. Подписывайтесь на канал блога в Телеграме или RSS и не забудьте задонатить мне копеечку. Спасибо ;-)
- Логическая сущность, которая помогает организовать хранение объектов↩