Связь с хранилищем данных и облачным хранилищем из движка Google Compute в Java
У меня есть приложение GAE, которое создает некоторые данные в хранилище данных Google Cloud и сохраняет некоторые двоичные файлы в облачном хранилище Google - давайте назовем приложение WebApp.
Теперь у меня есть другое приложение, работающее на Google Cloud Storage Google. Давайте назовем приложение ComputeApp.
Теперь ComputeApp должен подключиться к хранилищу данных, запросить объекты, созданные WebApp, и прочитать связанный двоичный файл из облачного хранилища Google. Затем CoumputeApp выполняет некоторую обработку двоичного файла, например, перекодирует в другой формат и сохраняет его обратно в облачном хранилище и обновляет связанный объект в хранилище данных.
Теперь позвольте мне описать проблему:
Как ComputeApp может взаимодействовать с хранилищем данных? (Я использую Objectify для этого) Единственный метод, который я нашел, это GAE Remote API для Java. Он работает при подключении к моему WebApp, работающему локально, но не работает при подключении к моему WebApp, развернутому в GAE. Причина, вероятно, описана здесь. Но я не знаю Python, поэтому я не понимаю описанное решение. Есть ли другой возможный способ связи моего ComputeApp со службой хранилища данных GAE?
Большое спасибо!
Редактировать: я исправил свою опечатку, как правильно заметил.
2 ответа
Вы можете подключиться к хранилищу данных из Compute Engine, используя Google Cloud Datastore API (в настоящее время в Preview)
В настоящее время отсутствует поддержка клиентской библиотеки Java App Engine, такой как Objectify, только низкоуровневый Java API на основе protobuf: см. Руководство по началу работы для Java.
Я создал проблему на общедоступном трекере, поскольку команда инженеров заинтересована в поддержке в будущем.
Этот API с открытым исходным кодом (с использованием Json API) проще, чем API буфера протокола
https://github.com/JavaMonday/gcd-json-java
пример использования:
List<Foo> list = ds.gqlQuery(Foo.class).queryString("SELECT * FROM Foo").list();