谷歌应用引擎:验证/更改应用程序地区

21

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

当我将 GAE PHP 应用程序设置为已授权的应用程序,以访问我的 Cloud SQL 实例时,会出现以下警告:

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

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

谢谢


你是否设置了应用程序或Cloud SQL以在欧盟工作? - Ryan
我在亚洲地区设置了我的云SQL,但我忘记在我的应用程序上设置。我在哪里可以找到应用程序的地区?@Bruyere - fbysaputri
相关内容:https://dev59.com/DYLba4cB1Zd3GeqPl_iB - Lee
3个回答

25
你可以使用gcloud app describe --project <projectId>命令来查看位置。一旦设置了应用程序的区域,就无法更改。 请参阅此处
例如:
$ 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

7
您可以在[1]中查看您的应用程序位置。
关于更改区域,请参见[2]获取更多信息。
[1] - https://appengine.google.com/
[2] - 更改GAE应用程序位置 更新:现在可以从新的开发者控制台创建欧盟应用程序,并且不需要白名单/首席状态。如果账户已经被列入白名单/首席,则在GAE控制台中仅显示“位置”选项卡。找到应用程序位置的另一种方法是使用旧的GAE控制台->从列表中单击应用程序以进入仪表板,如果在app_id后面的链接中看到e〜,则您的应用程序位于欧盟,否则,如果您看到s〜,则您的应用程序位于美国。
另一种选择是使用Ilya Zakreuski下面建议的gcloud命令。

1
当我查看appengine.google.com时,我只看到了一个四列表格,分别是“应用程序”,“标题”,“存储方案”和“状态”。 “位置”列是否对所有人都可用? - fbysaputri
关于更改我的区域,如果我的云SQL设置在亚洲区域,那么如果我也将我的应用程序更改为亚洲区域,这是不可能的吗?最好的方法是什么?更改并创建一个新的云SQL实例,并与我的应用程序区域相同吗?抱歉我只是个新手,非常感谢您的帮助。 - fbysaputri
您的应用程序位于美国。亚洲地区不适用于App Engine,仅适用于GCE和CloudSQL。如果您想在欧洲拥有一个应用程序,您需要填写表格并等待电子邮件被列入白名单。之后,您将能够在创建新应用程序时选择一个地区(欧盟或美国)。 - Nikita Uchaev
抱歉,我的错。只有当您有创建欧盟应用程序的能力时,位置列才会出现。 - Nikita Uchaev
1
@Lee,EU应用程序创建现在已经正常工作。但是,仅当帐户被列入白名单/ Premier时,位置选项卡才会在GAE控制台中显示。查找应用程序位置的方法仍然在旧的GAE控制台中->从列表中单击应用程序以转到仪表板->如果在“app_id =”之后的链接中看到“e〜”,则您的应用程序位于欧盟,否则,如果您看到s〜,则您的应用程序位于美国。 - Nikita Uchaev
显示剩余10条评论

1
您可以从运行时环境中获取AppId:
Java:
ApiProxy.getCurrentEnvironment().getAppId()

或者Python:
os.environ['APPLICATION_ID']

如@Ilya和@Nikita所提到的那样,前缀仍然适用:

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接