确定我的App Engine代码运行在哪个项目ID上

14 投票
4 回答
7385 浏览
提问于 2025-04-18 18:51

在一个App Engine应用程序里,有没有办法知道这个GAE(App Engine)实例正在运行的项目ID是什么?

我想访问一个在同一个项目里的大查询表,而我希望尽量不把这个项目ID写死在代码里,或者放在其他配置文件里。

编辑:忘了提,这个是用Python写的。

4 个回答

5

我还添加了一个应用版本,以防你也需要这个信息。

import com.google.appengine.api.utils.SystemProperty;


String appId = SystemProperty.applicationId.get();
String appVersion = SystemProperty.applicationVersion.get();
8

我在2019年尝试了其他方法,使用的是Python3。根据我的了解,那些方法主要是针对Python2的(还有一种是针对Java的)。

我在Python3中成功实现了这个功能,使用的是:

import os

app_id = os.getenv('GAE_APPLICATION')
print(app_id)
project_id = os.getenv('GOOGLE_CLOUD_PROJECT')
print(project_id)

来源:https://cloud.google.com/appengine/docs/standard/python3/runtime

13

这是“官方”的做法:

from google.appengine.api import app_identity

GAE_APP_ID = app_identity.get_application_id()

想了解更多,可以查看这里:https://developers.google.com/appengine/docs/python/appidentity/

10

你可以从环境变量中获取很多信息:

import os
print os.getenv('APPLICATION_ID')
print os.getenv('CURRENT_VERSION_ID')
print os.environ

撰写回答