Хобрук: Ваш путь к мастерству в программировании

Как получить удаленный доступ к файловой системе Google Compute VM с помощью Java API?

Я создаю фреймворк для управления файлами между вычислительными машинами на основе их ролей. Мне удалось найти много информации об управлении самими вычислительными движками, но ничего о том, как получить к ним доступ для управления файлами.


Ответы:


1

Не существует Google API для чтения и записи в файловые системы экземпляра из-за пределов экземпляра. Вам нужно будет запустить службу на экземпляре (ftp, sftp, что угодно), если вам нужен внешний доступ к его файловой системе.

29.03.2016

2

Fratzke, прежде всего, ваш вопрос неполный, какую платформу вы используете для экземпляров вычислительного движка, вам нужен доступ только для чтения?

Обратите внимание, что если вы хотите, чтобы диск сохраняемости был общим для многих экземпляров вычислительного ядра, вы можете сделать это только в режиме только для чтения. В документации Google четко указано, что:

Постоянный диск можно подключить к нескольким экземплярам. Однако если вы подключаете постоянный диск к нескольким экземплярам, ​​все экземпляры должны подключать постоянный диск в режиме только для чтения. Невозможно подключить постоянный диск к нескольким экземплярам в режиме чтения-записи.

Однако вы можете обмениваться файлами между несколькими экземплярами с помощью управляемых служб, таких как облачное хранилище Google, облачное хранилище данных Google и т. д. Ответ на аналогичный вопрос уже есть на SO. Обратитесь к этим ссылкам:

Общий доступ к постоянному диску между виртуальными машинами Google Compute Engine

Изменить:
Если вы хотите удаленно получить доступ к файловой системе в нескольких экземплярах с помощью JAVA, они должны сделать файловую систему доступной с помощью службы. Такой сервис обычно является фоновым заданием, которое обрабатывает входящие запросы и возвращает ответ, например. для аутентификации, авторизации, чтения и записи. Спецификация шаблона запроса/ответа называется протоколом, например. NFS в UNIX/LINUX. Вы можете написать своего собственного поставщика файловых служб и запустить его на экземплярах. В качестве транспортного уровня для таких целей могут использоваться сокеты (TCP/IP). хорошим транспортным уровнем будет протокол http, например. со спокойным обслуживанием.

Редактировать - 2

Другая возможность заключается в использовании sshfs, монтировании файловой системы на каждом экземпляре и использовании их в коде Java в качестве смонтированной сети. общий привод.

Надеюсь, это поможет вам ... С уважением.

29.03.2016
  • Ничто из того, что вы написали, не имеет ничего общего с тем, что я спросил. У меня есть несколько экземпляров виртуальных машин в вычислениях Google, каждый из которых имеет свой собственный соответствующий диск и свою собственную файловую систему. Я хочу подключиться к этой файловой системе на соответствующем компьютере, чтобы я мог управлять (см. Чтение и запись) файлами на них с помощью java API. 29.03.2016
  • Не существует API для чтения и записи в файловые системы экземпляра из-за пределов экземпляра. Вам нужно будет запустить службу на экземпляре (ftp, sftp, что угодно), если вам нужен внешний доступ к его файловой системе. 29.03.2016
  • Если вы хотите получить доступ к файловой системе в нескольких экземплярах, они должны сделать файловую систему доступной с помощью службы. Такой сервис обычно является фоновым заданием, которое обрабатывает входящие запросы и возвращает ответ, например. для аутентификации, авторизации, чтения и записи. Спецификация шаблона запроса/ответа называется протоколом, например. NFS в UNIX/LINUX. Вы можете написать своего собственного поставщика файловых служб и запустить его на экземплярах. В качестве транспортного уровня для таких целей могут использоваться сокеты (TCP/IP). хорошим транспортным уровнем будет протокол http, например. со спокойным обслуживанием 29.03.2016
  • Другая возможность заключается в использовании sshfs, монтировании файловой системы на каждом экземпляре и использовании их в коде Java в качестве смонтированной сети. общий привод. 29.03.2016
  • @StephenWeinberg Можете ли вы указать это в ответе, и я одобрю? Это именно то, что мне нужно было знать. Спасибо. 29.03.2016
  • Новые материалы

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

    Разбор строк запроса в vue.js
    Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

    Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
    «Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..