Как подключиться к локальному облаку Google Datastore db?
У меня есть приложение GAE, которое создает некоторые данные в хранилище данных Google Cloud и сохраняет некоторые двоичные файлы в облачном хранилище Google - давайте назовем приложение WebApp. Теперь у меня есть другое приложение, работающее на Google Compute Engine. Давайте назовем приложение ComputeApp.
ComputeApp - это внутренний процесс, который обрабатывает данные, созданные WebApp. Ранее в этом вопросе я спрашивал, какой API можно использовать для связи с Datastore из ComputeApp. По предложению @proppy, я реализовал взаимодействие с Datastore с помощью API Cloud Cloud Datastore.
Все работает нормально, поскольку я общаюсь с хранилищем данных в облаке Google. Я использую сервис аутентификации аккаунта.
Теперь мне нужно запустить мой ComputeApp локально, на моем ПК для разработки, чтобы я взял данные, созданные локальным WebApp и сохраненные в локальном отладочном хранилище данных. Мне это нужно, потому что я хочу иметь среду тестирования, чтобы я мог отлаживать приложение GAE локально.
Как мне изменить код ComputeApp, чтобы он подключался к локальному отладочному хранилищу данных, а не к облаку Google?
Я много гуглил и не нашел ни совета, ни примера. Единственно возможный способ, которым я обнаружил, что я должен полностью переписать свой код и использовать другой API для этого. Таков Datastore Remote API. Это действительно единственный способ? Должен ли я действительно переписать весь ComputeApp для подключения к локальной БД? В самом деле?
Я надеюсь, что я просто упустил что-то важное, и это не правда...
1 ответ
Google Cloud Datastore имеет локальный сервер разработки, который вы можете использовать: https://developers.google.com/datastore/docs/tools/devserver
Вы можете создать и запустить локальное хранилище данных с помощью инструмента gcd, который связан с указанным выше документом.
Если вы используете DatastoreHelper.getDatastoreFromEnv();
чтобы построить хранилище данных, вы можете указать ему подключиться к локальной базе данных, экспортировав переменную env DATASTORE_HOST
:
export DATASTORE_HOST=http://localhost:8080