在 Google App Engine 上验证/更改应用程序区域

Posted

技术标签:

【中文标题】在 Google App Engine 上验证/更改应用程序区域【英文标题】:Verify/change application region at Google App Engine 【发布时间】:2014-11-04 03:58:17 【问题描述】:

我正在创建一个 GAE 应用程序。

当我将我的 GAE php 应用程序设置为授权应用程序以访问我的 Cloud SQL 实例,我收到以下警告:

App Engine 区域必须与 Cloud SQL 实例区域相同!

如何验证或更改我的 GAE 应用程序的区域?

谢谢

【问题讨论】:

您是否设置了应用程序或 Cloud SQL 以在欧盟工作? 我在亚洲地区设置了我的云 sql,但我忘记了我的应用程序。我在哪里可以找到我的申请中的地区? @Bruyere 相关:***.com/questions/25589246/… 【参考方案1】:

您可以使用gcloud app describe --project <projectId> 命令获取位置。 设置后无法更改应用的区域。 Refer here.

例如:

$ gcloud app describe --project myapp-1337
authDomain: gmail.com
codeBucket: staging.myapp-1337.appspot.com
defaultBucket: myapp-1337.appspot.com
defaultHostname: myapp-1337.appspot.com
featureSettings:
  splitHealthChecks: true
gcrDomain: us.gcr.io
id: myapp-1337
locationId: us-central
name: apps/myapp-1337
servingStatus: SERVING

【讨论】:

【参考方案2】:

可以从运行环境中获取 AppId:

Java:

ApiProxy.getCurrentEnvironment().getAppId()

或 Python:

os.environ['APPLICATION_ID']

@Ilya 和@Nikita 提到的前缀仍然适用:

前缀为 e~ 表示欧盟,s~ 表示美国。

附:看起来两个开发控制台都已更新为从其他地方获取 App ID,因此它们没有此前缀。

【讨论】:

【参考方案3】:

您可以在 [1] 中查看您的应用程序的位置。

关于更改地区,请参阅[2]了解更多信息。

[1] - https://appengine.google.com/ [2] - Change GAE application location

更新:现在可以从新的开发者控制台创建欧盟应用程序,并且不需要白名单/首要状态。如果帐户被列入白名单/高级帐户,则位置选项卡似乎只会显示在 GAE 控制台中。查找应用程序位置的方法仍然是在旧的 GAE 控制台中 -> 从列表中单击应用程序以转到仪表板 -> 如果您在 app_id= 之后的链接中看到 e~,则您的应用程序位于欧盟,否则如果您看看 s~ 你的应用在美国。

另一种选择是使用下面 Ilya Zakreuski 建议的 gcloud 命令。

【讨论】:

当我查看 appengine.google.com 时。我只有 4 列表,“应用程序”、“标题”、“存储方案”和“状态”。 “位置”列是否可供所有人使用? 为了改变我的地区,所以如果我的云 sql 设置在亚洲地区,如果我也将我的应用程序更改为亚洲地区是不可能的?我能做的最好的方法是什么?更改并创建一个新的云 sql 实例并与我的应用程序区域相同?对不起,我只是一个新手,非常感谢你的帮助。 您的应用位于美国。亚洲区域不适用于 App Engine,仅适用于 GCE 和 CloudSQL。如果您想在欧洲拥有一个应用程序,您必须填写表格并等待您的电子邮件被列入白名单。之后,您可以在创建新应用时选择地区(欧盟或美国)。 对不起,我的错。仅当您能够创建欧盟应用程序时,位置列才会显示。 @Lee EU 应用程序创建现在可以正常工作。不过,仅当帐户被列入白名单/高级帐户时,位置选项卡才会显示在 GAE 控制台中。查找应用程序位置的方法仍然是在旧的 GAE 控制台中 -> 从列表中单击应用程序以转到仪表板 -> 如果您在 app_id= 之后的链接中看到 e~,则您的应用程序位于欧盟,否则如果您看到 s~ 您的应用位于美国。

以上是关于在 Google App Engine 上验证/更改应用程序区域的主要内容,如果未能解决你的问题,请参考以下文章

从Iphone本机客户端通过Google App Engine进行身份验证

如果Flask应用程序在Google App Engine中不可用,如何提供默认错误页面

在 Flask + Google App Engine 上启用 SSL

从 Google App Engine 设置 Google Talk 状态(带身份验证)

Google App Engine + 基于 JSON 的服务 + 身份验证

如何使用 Google App Engine 验证表单数据? [关闭]