Ambiente di runtime Go 1.11

Il runtime Go 1.11 è lo stack software responsabile dell'installazione del codice e delle sue dipendenze del servizio web e dell'esecuzione del servizio.

Il runtime Go 1.11 per App Engine nell'ambiente standard è dichiarato nel file app.yaml:

runtime: go111

Versione Go

L'ambiente di runtime Go 1.11 utilizza l'ultima release stabile di Go 1.11. App Engine si aggiorna automaticamente alle nuove revisioni secondarie, ma non aggiorna automaticamente la versione principale.

Ad esempio, il deployment dell'applicazione potrebbe essere eseguito in Go 1.11.1 e aggiornato automaticamente alla versione 1.11.2 in un deployment successivo, ma non verrà aggiornato automaticamente a Go 1.12.

Dipendenze

Per saperne di più sulla dichiarazione e sulla gestione delle dipendenze, vedi Specifica delle dipendenze.

Variabili di ambiente

Le seguenti variabili di ambiente sono impostate dal runtime:

Variabile di ambiente Descrizione
GAE_APPLICATION L'ID della tua applicazione App Engine. Questo ID è preceduto dal prefisso "region code~", ad esempio "e~" per le applicazioni distribuite in Europa.
GAE_DEPLOYMENT_ID L'ID del deployment corrente.
GAE_ENV L'ambiente App Engine. Impostato su standard.
GAE_INSTANCE L'ID dell'istanza su cui il servizio è attualmente in esecuzione.
GAE_MEMORY_MB La quantità di memoria disponibile per il processo di richiesta, in MB.
GAE_RUNTIME Il runtime specificato nel file app.yaml.
GAE_SERVICE Il nome del servizio specificato nel file app.yaml. Se non viene specificato alcun nome del servizio, è impostato su default.
GAE_VERSION L'etichetta della versione corrente del servizio.
GOOGLE_CLOUD_PROJECT L'ID progetto Google Cloud associato alla tua applicazione.
PORT La porta che riceve le richieste HTTP.

Puoi definire variabili di ambiente aggiuntive nel file app.yaml, ma i valori precedenti non possono essere sostituiti.

HTTPS e proxy di forwarding

App Engine termina le connessioni HTTPS al bilanciatore del carico e inoltra le richieste alla tua applicazione. Alcune applicazioni devono determinare l'IP e il protocollo della richiesta originali. L'indirizzo IP dell'utente è disponibile nell'intestazione X-Forwarded-For standard. Le applicazioni che richiedono queste informazioni devono configurare il proprio framework web in modo che il proxy venga considerato attendibile.

Filesystem

Il runtime include una directory /tmp scrivibile, con tutte le altre directory che dispongono dell'accesso di sola lettura. La scrittura su /tmp occupa memoria di sistema. Per ulteriori informazioni, consulta la documentazione su TempDir e TempFile.

Server dei metadati

Ogni istanza della tua applicazione può utilizzare il server di metadati App Engine per eseguire query sulle informazioni sull'istanza e sul progetto.

Puoi accedere al server dei metadati tramite i seguenti endpoint:

  • http://metadata
  • http://metadata.google.internal

Le richieste inviate al server di metadati devono includere l'intestazione della richiesta Metadata-Flavor: Google. Questa intestazione indica che la richiesta è stata inviata con l'intento di recuperare i valori dei metadati.

La seguente tabella elenca gli endpoint in cui è possibile effettuare richieste HTTP per metadati specifici:

Endpoint dei metadati Descrizione
/computeMetadata/v1/project/numeric-project-id Il numero di progetto assegnato al progetto.
/computeMetadata/v1/project/project-id L'ID progetto assegnato al progetto.
/computeMetadata/v1/instance/zone La zona in cui viene eseguita l'istanza.
/computeMetadata/v1/instance/service-accounts/default/aliases
/computeMetadata/v1/instance/service-accounts/default/email L'indirizzo email dell'account di servizio predefinito assegnato al progetto.
/computeMetadata/v1/instance/service-accounts/default/ Elenca tutti gli account di servizio predefiniti per il tuo progetto.
/computeMetadata/v1/instance/service-accounts/default/scopes Elenca tutti gli ambiti supportati per gli account di servizio predefiniti.
/computeMetadata/v1/instance/service-accounts/default/token Restituisce il token di autenticazione che può essere utilizzato per autenticare l'applicazione ad altre API Google Cloud.

Ad esempio, per recuperare l'ID progetto, invia una richiesta a http://metadata.google.internal/computeMetadata/v1/project/project-id.

Variabili di ambiente

Le seguenti variabili di ambiente sono impostate dal runtime:

Variabile di ambiente Descrizione
GAE_APPLICATION L'ID della tua applicazione App Engine. Questo ID è preceduto dal prefisso "region code~", ad esempio "e~" per le applicazioni distribuite in Europa.
GAE_DEPLOYMENT_ID L'ID del deployment corrente.
GAE_ENV L'ambiente App Engine. Impostato su standard.
GAE_INSTANCE L'ID dell'istanza su cui il servizio è attualmente in esecuzione.
GAE_MEMORY_MB La quantità di memoria disponibile per il processo di richiesta, in MB.
GAE_RUNTIME Il runtime specificato nel file app.yaml.
GAE_SERVICE Il nome del servizio specificato nel file app.yaml. Se non viene specificato alcun nome del servizio, è impostato su default.
GAE_VERSION L'etichetta della versione corrente del servizio.
GOOGLE_CLOUD_PROJECT L'ID progetto Google Cloud associato alla tua applicazione.
PORT La porta che riceve le richieste HTTP.

Puoi definire variabili di ambiente aggiuntive nel file app.yaml, ma i valori precedenti non possono essere sostituiti.