Utilizzo dell'API Modules

L'API Modules fornisce funzioni che restituiscono informazioni sull'ambiente operativo corrente (modulo, versione ed istanza).

L'API Modules include anche funzioni che recuperano l'indirizzo di un modulo, o un'istanza. Ciò consente a un'applicazione di inviare richieste da un dall'istanza all'altra, sia nell'ambiente di sviluppo che in quello di produzione.

Devi importare il modulo google.appengine.api.modules dall'SDK.

from google.appengine.api import modules

Il seguente esempio di codice mostra come ottenere il nome del modulo e l'ID istanza per una richiesta:

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

L'ID istanza di un modulo scalato automaticamente verrà restituito come un valore codificato base64, ad esempio e4b565394caa.

Puoi comunicare tra i moduli nella stessa app recuperando il nome host di il modulo target:

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

Puoi anche utilizzare il servizio di recupero URL.