Utilizzo dell'API Modules

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

L'API Modules dispone anche di funzioni che recuperano l'indirizzo di un modulo, di una versione o di un'istanza. In questo modo un'applicazione può inviare richieste da un'istanza all'altra, sia negli ambienti di sviluppo che 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 con scalabilità automatica verrà restituito come valore codificato in base64 univoco, ad esempio e4b565394caa.

Puoi comunicare tra i moduli della stessa app recuperando il nome host del modulo di destinazione:

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 Ricerca URL.