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

时间:2014-09-10 13:17:01

标签: google-app-engine google-cloud-sql

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

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

  

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

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

THX

3 个答案:

答案 0 :(得分:9)

您可以使用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

答案 1 :(得分:4)

您可以在[1]处查看申请的位置。

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

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

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

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

答案 2 :(得分:1)

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

爪哇:

ApiProxy.getCurrentEnvironment().getAppId()

或Python:

os.environ['APPLICATION_ID']

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

带有e~的前缀

表示欧盟和s~表示美国。

P.S。看起来两个开发控制台都已更新,以便从其他地方获取应用程序ID,因此它们没有此前缀。