1

我是网络应用程序和谷歌应用引擎的新手。我不明白项目和应用程序之间的关系。我知道有一个唯一的应用程序ID,但是在应用程序下,可以有很多项目。

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

我阅读了谷歌的帮助页面,但他们没有帮助。那么有人可以帮我解决这个问题吗?

谢谢~

4

2 回答 2

3

应用程序由部署到 App Engine 的所有代码组成,这些代码位于单个应用程序 ID (appid) 下。对于您共享的单个 appid:

  • 数据存储内容
  • cron 工作
  • 任务队列
  • 日志
  • 项目管理员和权限
  • 计费设置和配额

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

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

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

于 2012-05-04T20:27:26.887 回答
2

假设您的应用程序是用 python 编写的。您在 app.yaml 文件中执行此操作

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

在你的app.yaml你这样做:

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

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

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

于 2012-05-04T19:41:50.140 回答