1

我是GoogleCloud的新手。 我跟着教程(對Node.js的)這些步驟:Google AppEngine Node.js:部署API和WepApp

  1. 建立自己的我 - 你好 - 世界 Web應用程序
  2. 部署到AppEngine上
  3. 它工作正常,爲https://My-Hello-World.appspot.com

  4. 建立自己的端點與項目-ID的API爲我 - 你好 - 世界

  5. 部署到AppEngine上
  6. 它也可以細如https://My-Hello-World.appspot.com/api/test/ *

我的問題是我部署端點的API的那一刻,我的My-Hello-World.appspot.com不運行作爲Web應用程序,它作爲API響應。部署到AppEngine時如何配置以使我的項目同時運行於webapp和api?

https://My-Hello-World.appspot.com - >運行爲webapp的

https://My-Hello-World.appspot.com/api/test/ * - >運行的API

謝謝。

回答

1

所以假設

  • 您的終端API和的webapp在同一個GCP項目
  • 每個人都有自己app.yaml

您可以將它們部署到同一項目的App Engine和有他們作爲單獨的服務一起運行。所有你需要做的是在添加服務標籤您app.yaml

service: api 
runtime: nodejs 
env: flex 

env_variables: 
    NODE_ENV : staging 

這就是我的樣子了ExpressJS RESTAPI我部署到分期。

您可以保持web應用程序的app.yaml相同,因爲它將用作默認的服務。

然後,你將能夠訪問

  • 的webapp
    • HTTPS ==> my-hello-world.appspot.com
    • HTTP ==>我的問候,world.appspot .COM
  • API
    • HTTPS ==> API -dot-my-hello-world.appspot.com
    • http ==> api.my -hello-world.appspot。COM

參考

+0

把他們都變成1個項目和部署確實工作。但我試圖做的是將我的webapp和我的端點分別部署到GAE,所以稍後如果我修改我的API並重新部署,它將不會影響正在運行的webapp –

+0

您可以完全獨立於彼此部署多個服務到同一個項目。當您在app.yaml中設置服務名稱時,它們將作爲單獨的微服務進行管理。所以你可以更新你的API並且你的Webapp將保持不變。 –

+0

app.yaml中的「service_name」確實有效,但我必須設置不同的名稱!感謝您的幫助 :) –