我们正在从GAE 2(标准)过渡到3。 在GAE2上,我们使用了:
from google.appengine.api import modules
CountryClient.COUNTRY_REALTIME_HOST = modules.get_hostname('api-country')
考虑到google.appengine.api
不可用,我如何在GAE3上做到这一点?
答案 0 :(得分:1)
在Python 3运行时中,没有直接等同于google.appengine.api.modules
库的App Engine Standard。
但是,作为一种解决方法,您可以结合使用App Engine Admin API和default runtime environment variables。
如here所述:
Python 3不支持Modules API。您可以使用 环境变量和App Engine Admin API的组合 获取有关并修改应用程序运行状态的信息 服务:
当您使用模块名称(或服务名称,现在称为模块,现在称为服务)来调用modules.get_hostname
时,可以使用apps.services.get API调用来检索版本处理所有流量,然后进行apps.services.versions.instances.list API调用以检索处理所有流量的实例名称。然后,您可以像这样建立Hosname:
<Instance-ID>.<version.ID>.<service-ID>.<App-ID>.appspot.com
(或者,如果您使用的是自定义域,则可以用它替换appspot.com
域。)