Modules API verwenden

Die Modules API bietet Funktionen, die Informationen zur aktuellen Betriebsumgebung (Modul, Version und Instanz) zurückgeben.

Außerdem verfügt die Modules API über Funktionen zum Abrufen der Adresse eines Moduls, einer Version oder einer Instanz. Auf diese Weise kann eine Anwendung sowohl in Entwicklungs- als auch in Produktionsumgebungen Anfragen von einer Instanz an eine andere senden.

Sie müssen das Modul google.appengine.api.modules aus dem SDK importieren.

from google.appengine.api import modules

Das folgende Codebeispiel zeigt, wie Sie den Modulnamen und die Instanz-ID für eine Anfrage abrufen können:

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

Die Instanz-ID eines automatisch skalierten Moduls wird als eindeutiger base64-codierter Wert zurückgegeben, z. B. e4b565394caa.

Sie können zwischen Modulen in derselben Anwendung kommunizieren. Rufen Sie dazu den Hostnamen des Zielmoduls ab:

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

Sie können auch den URL-Abrufdienst verwenden.