簡體   English   中英

在AppEngine上使用谷歌雲端點

[英]Using google cloud endpoints on AppEngine

我通常在AppEngine(Java)上使用Google Cloud Endpoints,如下所述:

https://cloud.google.com/appengine/docs/java/endpoints/helloendpoints-java-maven

我使用的端點庫的依賴關系是:

<plugin>
   <groupId>com.google.appengine</groupId>
   <artifactId>appengine-endpoints</artifactId>
   <version>1.9.48</version>
</plugin>

使用此命令,我可以使用以下命令啟動本地開發服務器:mvn clean package appengine:devserver

但是,似乎有一個新版本的雲端點。 https://cloud.google.com/endpoints/docs/frameworks/java/quickstart-frameworks-java

新框架可在此處找到

<dependency>
<groupId>com.google.endpoints</groupId>
<artifactId>endpoints-framework</artifactId>
<version>${endpoints.framework.version}</version>
</dependency>

相同的maven命令在這里不起作用。 我無法啟動本地開發服務器,打開API資源管理器或使用本地數據存儲區(所有這些都可能更早)。 有人可以指導我如何使用新框架。

此外,前框架是否可能被棄用?

部分回答我自己的問題:我終於可以使用“Echo應用程序”(在https://cloud.google.com/endpoints/docs/frameworks/java/quickstart-frameworks-java中提到)來工作

但我必須進行2次更改:a)在appengine-web.xml中注釋掉該塊。

<!--
<basic-scaling>
  <max-instances>2</max-instances>
</basic-scaling>
-->

執行此操作后,我得到了一個不同的錯誤,“失敗的端點-api-configuration:com.google.api.config.ServiceConfigException:無法獲取服務的默認配置版本”為了解決這個問題:

b)從web.xml注釋掉ServiceManagementConfigFilter,即

<!--
    <filter>
      <filter-name>endpoints-api-configuration</filter-name>
      <filter-class>com.google.api.control.ServiceManagementConfigFilter</filter-class>
   </filter>
-->
<!--    
<filter-mapping>
    <filter-name>endpoints-api-configuration</filter-name>
    <servlet-name>EndpointsServlet</servlet-name>
</filter-mapping>
-->

在這之后,

  1. 要構建:mvn clean包

  2. 在本地運行:appengine-java-sdk / 1.9.44 / appengine-java-sdk / appengine-java-sdk-1.9.44 / bin / dev_appserver.sh / path / to / war / directory

如果有人能夠更清楚地了解這些變化的含義,以及我們如何讓它開箱即用,那將會很棒

您遇到了一些問題,這些問題對配置問題過於敏感:

要解決問題,請按照以下說明操作: https//cloud.google.com/endpoints/docs/frameworks/java/quickstart-frameworks-java

  1. 替換pom.xml中的YOUR_PROJECT_ID時,請使用正確的Google項目ID。 它必須是所有步驟的有效項目ID。
  2. 替換echo.java中的YOUR-PROJECT-ID時相同

如果項目ID無效(實際存在於AppEngine中),則后續步驟將不起作用

  1. 執行: mvn exec:java -DGetSwaggerDoc
  2. 執行: gcloud service-management deploy openapi.json
  3. 執行: export ENDPOINTS_SERVICE_NAME=echo-api.endpoints.<your project id>.cloud.goog

快速入門指南對步驟5沒有多大幫助。步驟4需要以成功消息結束。

最后,該示例附帶了一個Maven插件,該插件似乎不適用於新的端點。 而不是使用:

    <plugin>
        <groupId>com.google.cloud.tools</groupId>
        <artifactId>appengine-maven-plugin</artifactId>
        <version>${appengine.maven.plugin.version}</version>
    </plugin>

使用:

    <plugin>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-maven-plugin</artifactId>
        <version>1.9.44</version>
    </plugin>

mvn appengine:devserver無效的問題的答案是devserver目標在新插件中不存在。 舊的Maven插件允許您執行:mvn appengine:devserver

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM