Связь с хранилищем данных и облачным хранилищем из движка 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();
Другие вопросы по тегам