如何在一个应用程序下单独运行GAE项目?

时间:2012-05-04 19:32:56

标签: google-app-engine

我是网络应用程序和Google应用程序引擎的新手。我不理解项目和应用程序之间的关系。我知道有一个唯一的应用程序ID,但在应用程序下,可能会有很多项目。

现在,我想在一个应用程序中使用URL中的不同文件夹单独运行这些项目,如下所示:http://udacity-cs253.appspot.com/unit2/rot13。它正在为项目使用不同的URL,但我不知道如何做到这一点。

我阅读谷歌的帮助页面,但他们没有帮助。所以有人可以帮我这个吗?

谢谢〜

2 个答案:

答案 0 :(得分:3)

应用程序包含在单个应用程序ID(appid)下部署到App Engine的所有代码。对于您分享的单个appid:

  • 数据存储内容
  • cron jobs
  • 任务队列
  • 日志
  • 项目管理员和权限
  • 结算设置和配额

如果您希望将单个应用程序中的代码安排到逻辑项目中,并且愿意在同一appid中包含的项目之间共享上述内容,则可以随意使用。

但是,如果您想要隔离项目(例如,如果您不希望项目A的开发人员能够配置项目B),您应该为每个项目创建单独的appids分别管理它们。

至于将请求路由到单个项目,aschmid00的答案提供了有关如何执行此操作的有用建议。

答案 1 :(得分:2)

假设您的应用程序是用python编写的。 你在app.yaml文件中这样做

如果你的app文件夹中有2个应用程序(unit1和unit2),那么它们都有一个main.py,你可以在那里定义你的WSGI application

在您app.yaml中的确如此:

- url: /unit1/.*
  script: unit1.main.application

- url: /unit2/.*
  script: unit2.main.application

所有带路径/unit1/.*的请求将由unit1提供,/ unit2 /.*由unit2提供。 数据存储区将被共享