Google AppEngine Node.js:部署API和WepApp

时间:2016-11-17 02:06:42

标签: node.js google-app-engine google-cloud-platform google-cloud-endpoints

我是GoogleCloud的新手。 我已按照教程(针对Node.js)执行以下步骤:

  1. 构建我自己的 My-Hello-World 网络应用
  2. 部署到AppEngine
  3. 它可以正常工作 https://My-Hello-World.appspot.com

  4. 构建我自己的EndPoints API,项目ID为 My-Hello-World

  5. 部署到AppEngine
  6. 它也适用于 https://My-Hello-World.appspot.com/api/test/ *
  7. 我的问题是,当我部署EndPoints API时,我的 My-Hello-World.appspot.com 不再作为webapp运行,它作为API响应。如何配置以在部署到AppEngine时使我的项目同时运行webapp和api?

    https://My-Hello-World.appspot.com - >以webapp身份运行

    https://My-Hello-World.appspot.com/api/test/ * - >以api身份运行

    谢谢。

1 个答案:

答案 0 :(得分:1)

所以假设

  • 您的终端API和Webapp位于同一GCP项目中
  • 每个人都有自己的app.yaml

您可以将它们部署到同一个项目的应用引擎中,并将它们作为单独的服务一起运行。您只需在app.yaml

中添加服务标记即可
service: api
runtime: nodejs
env: flex

env_variables:
  NODE_ENV : staging

对于我部署到分段的ExpressJS RestAPI,这就是我的样子。

您可以保持网络应用的app.yaml不变,因为它将用作默认服务。

然后您就可以访问

  • 的webapp
    • https ==> my-hello-world.appspot.com
    • http ==> my-hello-world.appspot.com
  • API
    • https ==> api-dot-my-hello-world.appspot.com
    • http ==> api.my-hello-world.appspot.com

参考