Utilizzo dell'API Modules

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

L'API Modules dispone anche di funzioni che recuperano l'indirizzo di un modulo, una versione o un'istanza. Ciò consente a un'applicazione di inviare richieste da un'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 a scalabilità automatica verrà restituito come valore codificato Base64 univoco, ad esempio e4b565394caa.

Puoi comunicare tra i moduli nella 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 Recupero URL.