Как запустить пример кода управляемой vm-gae локально

Я следовал этому руководству, чтобы получить Клиент Bigtable запущен и работает на виртуальных машинах, управляемых Google. Но есть ли способ запустить это локально? Причина в том, что удаленное развертывание кода в процессе разработки — это проблема.

Обычно я могу использовать dev_appserver.sh для локального запуска приложения GAE. Но когда я запускаю его, я получаю эту ошибку:

Причина: java.lang.IllegalStateException: Jetty ALPN настроен неправильно.

Что означает, что нам нужно включить библиотеку ALPN? Поскольку наша кодовая база находится на Java 7, я использовал эту версию ALPN: 7.1.3.v20150130.

Затем я попытался снова с этим:

dev_appserver.sh --jvm_flag=-Xbootclasspath/p:/Users/shouguoli/tmp/alpn-boot-7.1.3.v20150130.jar

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

Причина: com.google.apphosting.api.ApiProxy$CallNotFoundException: не найден пакет API urlfetch или вызов Fetch().

Как заставить его работать локально?


person the1plummie    schedule 15.12.2015    source источник
comment
Я работаю над этим прямо сейчас - надеюсь обновить репо к завтрашнему дню или к среде.   -  person Les Vogel - Google DevRel    schedule 15.12.2015
comment
Близко — надеюсь, завтра к EoD, иначе это, вероятно, не произойдет до января.   -  person Les Vogel - Google DevRel    schedule 17.12.2015
comment
ха-ха, голоса/значки/репутация, что вам нужно, чтобы это сделать!?!? :)   -  person the1plummie    schedule 17.12.2015
comment
Подобрался очень близко, вылетаю завтра, попробую еще раз в понедельник днем ​​(или раньше). Я знаю, насколько это важно, и я думаю, что это, наконец, в наших силах.   -  person Les Vogel - Google DevRel    schedule 18.12.2015
comment
какие-либо обновления для этого? :)   -  person the1plummie    schedule 22.01.2016


Ответы (1)


пример был обновлен на прошлой неделе. Он основан на среде выполнения, совместимой с Java 8, что означает, что у вас есть доступ к большинству API App Engine, включая пользователей, очереди задач и хранилище данных.

Появился новый модуль Netty TCNative. который использует Boring SSL.

Чтобы использовать его с pom.xml в образце, выполните:

mvn clean -Pmac jetty:run -Dbigtable.projectID=<your-project> -Dbigtable.clusterID=<your-cluster> -Dbigtable.zone=<your-zone>

Для использования в Windows используйте -Pwindows вместо -Pmac. Для Linux опустите профиль -P, так как он используется по умолчанию.

Развернуть:

mvn clean gcloud:deploy -Dbigtable.projectID=<your-project> -Dbigtable.clusterID=<your-cluster> -Dbigtable.zone=<your-zone>

ПРИМЕЧАНИЕ. Рекомендуется выполнять очистку между локальным и удаленным запуском, поскольку модуль TCNative в настоящее время зависит от платформы, на которой выполняется код.

Мы находимся в процессе обновления всех наших образцов для использования TCNative, мы надеемся, что это произойдет к 10 марта 2016 года.

person Les Vogel - Google DevRel    schedule 20.02.2016