Я уже описывал в одной из своих предыдущих статей одну из проблем Яндекс Облака. Их объектное хранилище не может принять в себя папки и папки внутри папок. Скинуть файлы в Object Storage перетаскиванием можно, но если эти файлы у вас находятся в папках, то придется создавать их там вручную, что совсем неудобно. К слову, хранилище от Selectel, например, хотя бы поддерживает возможность скидывания в облако архива в формате .tar и его автоматического разархивирования. У Yandex Cloud такого нет, но зато есть возможность спокойно сконнектиться со своим бакетом1 с помощью клиентов для работы с S3-совместимыми объектными хранилищами.

Самые большие любители хардкора могут сделать это с помощью консольных клиентов, типа AWS CLI, или с использованием SDK для своей среды разработки, но обычным ребятам, таким как я, больше по душе графические клиенты - старые добрые окна, куда можно перетаскивать файлы и папки. В этой статье я расскажу о трех самых популярных графических клиентах для работы S3-совместимыми хранилищами для Windows, о том, как их соединить с Yandex Cloud, а также расскажу о своем опыте работы с каждым из них в Яндекс Облаке.

Но для начала

Для начала нужно будет проделать одну операцию на Облаке, которая будет нужна нам для работы со всеми клиентами. Нам нужно получить у Яндекса ключи, которые дадут нам возможность соединиться с нашим бакетом.

Для этого делаем нам нужно создать сервисный аккаунт и только потом мы получим ключи. Вот как это сделать:

  1. В консоли управления Яндекс Облака выбираем строку с именем каталога, в котором вы хотите создать сервисный аккаунт. Как правило, если не менять его название при создании, то он будет называться default . Выбираем лучший S3-клиент под Windows для работы с облаком Яндекса
  2. В верхней части экрана переходим на вкладку Сервисные аккаунты , где вверху жмем на кнопку Создать сервисный аккаунт . Выбираем лучший S3-клиент под Windows для работы с облаком Яндекса
  3. Далее заполняем данные
    • вводим имя сервисного аккаунта.
    • назначаем ему роль. Я выбирал примитивную роль админа, поскольку никому эти данные для других задач передавать не собирался. Вот тут список и функции всех ролей
    • подтверждаем создание сервисного аккаунта Выбираем лучший S3-клиент под Windows для работы с облаком Яндекса
  4. После этого нажимаем на строку только что созданного сервисного аккаунта, а затем кнопку Создать новый ключ на верхней панели, после чего в выпадающем меню выбираем Создать статический ключ доступа. Выбираем лучший S3-клиент под Windows для работы с облаком Яндекса
  5. Задайте описание ключа, чтобы его можно было идентифицировать, и нажмите кнопку Создать. В появившемся окне можно будет скопировать идентификатор и секретный ключ. Последний лучше сохранить себе куда-нибудь, так как после закрытия окна, его значение будет недоступно. Выбираем лучший S3-клиент под Windows для работы с облаком Яндекса

Помимо ключа и идентификатора вам для всех 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 и не забудьте задонатить мне копеечку. Спасибо ;-)


  1. Логическая сущность, которая помогает организовать хранение объектов