Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 应用程序引擎灵活+;应用程序标识(Python)_Google App Engine_Google App Engine Python - Fatal编程技术网

Google app engine 应用程序引擎灵活+;应用程序标识(Python)

Google app engine 应用程序引擎灵活+;应用程序标识(Python),google-app-engine,google-app-engine-python,Google App Engine,Google App Engine Python,是否有方法移植的功能 from google.appengine.api import app_identity from google.appengine.api import urlfetch 在灵活的环境中 我有一个在flex环境上运行的服务,它需要向标准环境发出请求,并希望使用App Engine的本机应用程序标识和X-Appengine-Inbound-Appid头来执行此操作 似乎如果请求的来源是标准环境,那么报头会传递到flex环境,而不是相反的方式?更新:在这种情况下不可能使用

是否有方法移植的功能

from google.appengine.api import app_identity
from google.appengine.api import urlfetch
在灵活的环境中

我有一个在flex环境上运行的服务,它需要向标准环境发出请求,并希望使用App Engine的本机应用程序标识和
X-Appengine-Inbound-Appid
头来执行此操作


似乎如果请求的来源是标准环境,那么报头会传递到flex环境,而不是相反的方式?

更新:在这种情况下不可能使用
X-Appengine-Inbound-Appid
报头,因为正如您所观察到的,按照建议的实验,在柔性环境服务的出口侧专门设置后,在标准环境服务的入口侧移除:

原职:

发件人:

在灵活的环境中运行时,您可以使用 以及获取有关您的申请的信息:

应用程序/项目ID

GCLOUD\u项目环境变量或 元数据服务器中的/project/project id资源

因此,您可以尝试如上所述在flex env服务中获取应用程序ID,并手动设置
X-Appengine-Inbound-Appid
响应头。它可能不会在标准env服务的入口端删除(中没有明确提到要删除)

对于urlfetch移植,来自:

灵活的环境没有沙箱限制,因此您可以使用 任何HTTP库。我们建议使用


因此,请检查为您决定使用的HTTP库设置响应头的具体方法。

Hi Dan,谢谢您的快速回答。我已经实际尝试了这个方法,并使用python请求库手动设置了
X-Appengine-Inbound-Appid
。然而,一旦标准环境接收到请求,这个头就会被剥离。很抱歉听到这个消息。我更新了答案以反映您的验证。我还打算建议隔离该特定URL的处理程序,并在std env服务的
.yaml
文件中使用
login:admin
对其进行保护,但这似乎无效,请参阅我确实考虑了登录:admin,但是除非URLFACH库可以导入并直接在Flex环境中使用,这似乎是无效的,正如您所提到的,标准Env只会导致重定向到授权页。现在,我已经使用了类似于OAuth令牌的东西来帮助保护请求。是的,这样的令牌可以工作。事情有点复杂,但目前似乎没有替代方案。