案头见蠹鱼,犹胜凡俦侣。这篇文章主要讲述如何从GAE应用程序中的请求标头获取App Id相关的知识,希望能为你提供帮助。
我试图从requestHeader获取应用程序ID,它返回为Null。 Google App Engine doc确认他们将在请求标题中添加一些详细信息,因为应用程序ID也在那里,但我没有收到。
这是我试过的。
String XAppEngineAppId = request
.getHeader("X-Appengine-Inbound-Appid");
logger.info("APPID::" + XAppEngineAppId);
答案
X-Appengine-Inbound-Appid
标头仅在调用appspot.com域上托管的应用程序时设置。此外,如果您使用的是
java.net
API,则必须设置connection.setInstanceFollowRedirects(false);
,以便App Engine自动插入标头。有关此主题的文档,请访问:https://cloud.google.com/appengine/docs/standard/java/appidentity/#asserting_identity_to_other_app_engine_apps
另一答案您可以使用App Identity Java API
https://cloud.google.com/appengine/docs/java/appidentity/
【如何从GAE应用程序中的请求标头获取App Id】可以使用ApiProxy.Environment.getAppId()方法找到应用程序ID。
推荐阅读
- AppEngine数据存储 - 以编程方式备份
- App Engine灵活实例中的奇怪ruby过程
- 从Appengine SDK迁移到Cloud SDK后,在使用AppEngineRun运行时无权创建文件
- 如何为Google App Engine实例指定区域()
- 如何禁用`gcloud preview app run'的运行状况检查
- 建立数据库连接时出错(Google App Engine Deploy)
- 为Google Cloud AppEngine配置MemSql
- 没有在Google App Engine中安排的Cron作业
- AppEngine文档建议使用命令行标志而不是app.yaml文件元素