Utilizzo dell'API Modules

L'API Modules fornisce funzioni che restituiscono informazioni sull'ambiente operativo corrente (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 a un'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 scalato automaticamente verrà restituito come valore univoco codificato in base64, ad es. 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 Recupero URL.