Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 谷歌应用程序引擎(GAE)应用程序的多域部署_Google App Engine_Deployment_Dns - Fatal编程技术网

Google app engine 谷歌应用程序引擎(GAE)应用程序的多域部署

Google app engine 谷歌应用程序引擎(GAE)应用程序的多域部署,google-app-engine,deployment,dns,Google App Engine,Deployment,Dns,我们希望开发和销售定制的商业GAE应用程序。我想了解在任意Google应用程序域(即非appspot)上部署GAE应用程序的信息 假设我们的公司是abc.com,我们将应用程序销售给def.com和xyz.com。在客户的域上部署我们的应用程序的步骤是什么 在多个域上部署应用程序时: 代码是重复的还是共享的 数据存储定义是重复的还是共享的(更确切地说是种类) 是否将任何域属性添加到实体 这是可能的,但据我所知,def.com和xyz.com必须注册 一旦你的潜在客户向谷歌应用程序注册了域名,他

我们希望开发和销售定制的商业GAE应用程序。我想了解在任意Google应用程序域(即非appspot)上部署GAE应用程序的信息

假设我们的公司是abc.com,我们将应用程序销售给def.com和xyz.com。在客户的域上部署我们的应用程序的步骤是什么

在多个域上部署应用程序时:

  • 代码是重复的还是共享的
  • 数据存储定义是重复的还是共享的(更确切地说是种类)
  • 是否将任何域属性添加到实体

这是可能的,但据我所知,
def.com
xyz.com
必须注册

一旦你的潜在客户向谷歌应用程序注册了域名,他们不仅可以向子域(
mail.def.com
&
Docs.def.com
)添加Gmail&Docs等谷歌应用程序,还可以添加任何GAE应用程序(
fooapp.def.com

  • 代码是重复的还是共享的?
    共享
  • 数据存储定义是否重复或共享(更确切地说是种类)?
    虽然模式(定义)是共享的,但不共享的是实际的数据存储。i、 e.应用程序的每个实例都有单独的数据
  • 是否有任何域属性添加到实体?
    您可以使用一个CGI/HTTP环境变量来确定您的应用在哪个域下提供服务。我不记得具体是哪个变量,但我会在查看我的一些旧代码后更新答案。一旦发现当前域是什么,您可以选择如何处理该信息,包括将其保存到实体或干脆拒绝访问

另一个很酷的特性是,假设公司
def.com
使用托管的GMail,并为其员工提供谷歌认证。现在,如果您的应用程序正在使用GAE提供的身份验证挂钩,那么您就可以只对其员工进行身份验证,而无需更改代码!至少,这是理论,因为我自己还没有试过;-)

对于您描述的“多租户”应用程序,您目前有三种选择:

  • 您可以将一个应用程序添加到客户的域中。您的应用程序将有一个单独的数据存储,但您可以使用主机头来确定哪个客户正在访问应用程序,并基于此隔离数据存储条目。
    • 易于部署和升级
    • 便于客户安装
    • 用户必须拥有谷歌帐户,而不是应用程序帐户才能登录
  • 您可以为每个客户部署一个新的应用程序实例。
    • 更难部署和升级
    • 安装时需要更多的客户参与
    • 提供可靠的数据分离
    • 用户可以使用其应用程序凭据登录
  • 你可以与谷歌合作创建一个新的应用程序市场应用程序
    • 上述第1点和第2点的所有好处
    • 需要谷歌的参与
    • 还没有确定的发布日期

  • 第2点和脚注是不正确的:它们都使用相同的数据存储,并且当前不能让一个应用实例对多个应用域进行身份验证。实际上,我指的是来自同一代码的多个应用实例。如果公司
    def.com
    想要使用fooapp,他们会去谷歌应用程序管理员那里添加该应用程序。这将创建一个新的应用程序实例,该应用程序将使用不同的数据存储&根据
    def.com
    而不是一般的谷歌帐户进行身份验证。错了吗?现在读你的答案,我想描述一下你概述的场景2,但也许我不是很清楚!谢谢,非常有帮助。对不起,现在还不能投票-没有声誉谢谢,非常有帮助。对不起,现在还不能投票-没有声誉谢谢,非常有帮助。对不起,现在还不能投票-没有声誉这是一个很老的问题,但最近有所改变。现在,开发和部署多租户应用程序更容易了。