使用 Modules API

Modules API 提供可以傳回現行作業環境相關資訊 (模組、版本與執行個體) 的函式。

Modules API 也提供擷取模組、版本或執行個體位址的函式。如此可讓應用程式不論是在開發環境還是實際工作環境中,都能從某個執行個體傳送要求到至另一個執行個體。

您必須從 SDK 匯入 google.appengine.api.modules 模組。

from google.appengine.api import modules

下列程式碼範例示範如何取得要求的模組名稱和執行個體 ID:

module = modules.get_current_module_name()
instance_id = modules.get_current_instance_id()
self.response.write(
    'module_id={}&instance_id={}'.format(module, instance_id))

自動調整大小的模組會以 Base64 編碼的值 (例如 e4b565394caa) 傳回其 instance ID。

只要擷取目標模組的主機名稱,就可以在同一應用程式的不同模組之間進行通訊:

backend_hostname = modules.get_hostname(module='my-backend')
url = "http://{}/".format(backend_hostname)
try:
    result = urllib2.urlopen(url).read()
    self.response.write('Got response {}'.format(result))
except urllib2.URLError:
    pass

您也可以使用網址擷取服務。