Firebase с App Engine Гибкая версия не работает с 15 декабря 2017 года

Я создал приложение для Android с Firebase и использовал Google App Engine для управления бэкендом. Чтобы начать работу, мы использовали " Создание приложения для Android с использованием Firebase" и учебник по гибкой среде App Engine.

Это работает в гибкой бета-среде, поэтому я получил следующие электронные письма от Google: " [Напоминание] Бета-версия управляемых виртуальных машин App Engine выключается 15 декабря 2017 года ", которая также включала ссылку на обновление до последней версии гибкой среды App Engine,

С 15 декабря бэкэнд сломан (до этого все работало нормально). Я изменил свой appengine-web.xml (app.yaml не был частью вышеупомянутого проекта GitHub) из:

<env>vm</env> 

чтобы:

<env>flex</env>

а также добавил:

<beta-settings>
     <setting name="enable_app_engine_apis" value="true"/>
 </beta-settings>

к моему appengine-web.xml без успеха. Теперь я получаю:

 java.io.FileNotFoundException: WEB-INF/logging.properties (No such file or directory) 

также все еще получают ошибки как:

java.util.concurrent.ExecutionException:         
com.google.apphosting.api.ApiProxy$RPCFailedException: The remote RPC to the  
application server failed for the call logservice.Flush(). at 
java.util.concurrent.FutureTask.report(FutureTask.java:122) at 
java.util.concurrent.FutureTask.get(FutureTask.java:206) at com.google.apphosting.vmruntime.VmAppLogsWriter.waitForCurrentFlush(VmAppLogsWriter.java:226) at com.google.apphosting

INFO: Error body: App Engine APIs over the Service Bridge are disabled.
If they are required, enable them by setting the following to your app.yaml:
beta_settings:
enable_app_engine_apis: true

Так как у меня нет app.yaml Я положил это в appengine-web.xml, но это, кажется, игнорируется. Например, вызов API на https://fcm.googleapis.com/fcm/send больше не работает. Я думаю, что app.yaml это правильный путь, но я не смог найти хорошего примера для развертывания бэкэнда gcloud, связанного с Firebase, поэтому я придерживался упомянутого выше руководства (параметр "flex" был добавлен в этот пример также 6 месяцев назад).

Я также пытался использовать app.yaml (пожалуйста, смотрите скриншот для моего дерева проекта), но получите ошибки класса не найдены:

javax.servlet.UnavailableException: 
com.qweez.flexenv.service.GameRequestProcessorServlet 

а также:

java.lang.ClassNotFoundException: 
com.qweez.flexenv.service.GameRequestProcessorServlet

Я не мог узнать, как запустить его с Firebase. Похоже, структура каталогов неверна или что-то отсутствует при развертывании.

Структура моего проекта: appengine-web.xml и app.yaml?! возможный

Я пытался развернуть с помощью:

mvn gcloud:deploy #appengine-web.xml

так же как:

gcloud app deploy #app.yaml

Мои вопросы:

  1. Это потому, что я пытаюсь использовать среду выполнения java-compat; который я предполагаю, является Java7? Если это так, как я могу перейти на "гибкое время выполнения" (я предполагаю, что Java8 с app.yaml)?

  2. Почему я по-прежнему получаю: "Ваши версии управляемой виртуальной машины в проекте *** были закрыты. Вы можете перезапустить свой проект на ограниченное время, но вам нужно перейти на гибкую среду App Engine, если вы хотите, чтобы ваш проект оставался доступным".".

Версии App Engine: версии движка приложения

Я развернул гибкие версии env, почему там все еще бета-версия?: Конфигурация движка приложения говорит еще бета

  1. Было бы лучше использовать app.yaml или же appengine-web.xml? Что мне нужно получить app.yaml работа с Firebase, как это описано в разделе Создание приложения для Android с использованием Firebase и гибкой среды App Engine?

Было бы здорово, если бы кто-то мог указать мне правильное направление - я не смог бы найти что-либо в документах Google Cloud. Заранее спасибо!

ОБНОВЛЕНИЕ Началось с нуля после Quickstart для Java в гибкой среде App Engine и Firebase-Admin-SDK.

0 ответов

Другие вопросы по тегам