确定我的应用程序引擎代码运行在哪个项目id上



在应用程序引擎应用程序中,是否有方法确定GAE(应用程序引擎)实例正在运行的项目ID?

我想在App Engine实例运行的同一项目中访问一个大查询表。如果可能的话,我不想硬编码它,也不想将它包含在另一个配置文件中。

编辑:忘记提到这是来自Python

这是"官方"方式:

from google.appengine.api import app_identity
GAE_APP_ID = app_identity.get_application_id()

点击此处查看更多信息:https://developers.google.com/appengine/docs/python/appidentity/

您可以从环境变量中获得很多信息:

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

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

我还添加了一个应用程序版本,以备您也需要。

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

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