O tempo de execução do Go é a pilha de software responsável por instalar o código do seu serviço Web e as respetivas dependências, bem como executar o seu serviço.
O tempo de execução do Go para o App Engine no ambiente padrão é declarado no ficheiro app.yaml:
runtime: goVERSION
Onde VERSION são os números das versões do Go MAJOR e MINOR. Por exemplo, para usar a versão mais recente do Go, o Go 1.25, especifique 125.
Para outras versões do Go suportadas e a versão do Ubuntu correspondente à sua versão do Go, consulte a Programação de apoio técnico do tempo de execução.
Versão Go
A versão Go mais recente suportada é a 1.25. O tempo de execução do Go usa a versão estável mais recente da versão especificada no ficheiro app.yaml. O App Engine é atualizado automaticamente para novas revisões de patches, mas não atualiza automaticamente a versão principal.
Por exemplo, a sua aplicação pode ser implementada na versão secundária Go 1.13.1 e ser atualizada automaticamente para a versão 1.13.2 numa implementação posterior, mas não é atualizada automaticamente para a versão principal Go 1.14.
Dependências
Para mais informações sobre como declarar e gerir dependências, consulte o artigo Especificar dependências.
Variáveis de ambiente
As seguintes variáveis de ambiente são definidas pelo tempo de execução:
| Variável de ambiente | Descrição | 
|---|---|
GAE_APPLICATION
 | 
O ID da sua aplicação do App Engine. Este ID tem o prefixo "region code~", como "e~" para aplicações implementadas na Europa. | 
GAE_DEPLOYMENT_ID | 
O ID da implementação atual. | 
GAE_ENV | 
O ambiente do App Engine. Definido como standard. | 
GAE_INSTANCE | 
O ID da instância na qual o seu serviço está atualmente em execução. | 
GAE_MEMORY_MB | 
A quantidade de memória disponível para o processo da aplicação, em MB. | 
GAE_RUNTIME | 
O tempo de execução especificado no ficheiro app.yaml. | 
GAE_SERVICE | 
O nome do serviço especificado no ficheiro app.yaml. Se não for especificado nenhum nome de serviço, este é definido como default. | 
GAE_VERSION | 
A etiqueta da versão atual do seu serviço. | 
GOOGLE_CLOUD_PROJECT | 
O Google Cloud ID do projeto associado à sua aplicação. | 
PORT | 
A porta que recebe pedidos HTTP. | 
NODE_ENV (disponível apenas no tempo de execução do Node.js) | 
Definido como production quando o serviço é implementado. | 
Pode definir variáveis de ambiente adicionais no ficheiro app.yaml, mas os valores acima não podem ser substituídos, exceto o NODE_ENV.
HTTPS e proxies de encaminhamento
O App Engine termina as ligações HTTPS no equilibrador de carga e encaminha os pedidos para a sua aplicação. Algumas aplicações precisam de determinar o IP e o protocolo do pedido original. O endereço IP do utilizador está disponível no cabeçalho X-Forwarded-For padrão. As aplicações que requerem estas informações devem configurar a respetiva framework Web para confiar no proxy.
Sistema de ficheiros
O tempo de execução inclui um diretório /tmp gravável, com todos os outros diretórios a terem acesso só de leitura. A escrita para /tmp ocupa memória do sistema. Para mais informações, consulte a documentação TempDir e TempFile.
Servidor de metadados
Cada instância da sua aplicação pode usar o servidor de metadados do App Engine para consultar informações sobre a instância e o seu projeto.
Pode aceder ao servidor de metadados através dos seguintes pontos finais:
http://metadatahttp://metadata.google.internal
Os pedidos enviados para o servidor de metadados têm de incluir o cabeçalho do pedido
Metadata-Flavor: Google. Este cabeçalho indica que o pedido foi enviado com a intenção de obter valores de metadados.
A tabela seguinte lista os pontos finais onde pode fazer pedidos HTTP para metadados específicos:
| Ponto final de metadados | Descrição | 
|---|---|
/computeMetadata/v1/project/numeric-project-id | 
O número do projeto atribuído ao seu projeto. | 
/computeMetadata/v1/project/project-id | 
O ID do projeto atribuído ao seu projeto. | 
/computeMetadata/v1/instance/region | 
A região em que a instância está a ser executada. | 
/computeMetadata/v1/instance/service-accounts/default/aliases | 
|
/computeMetadata/v1/instance/service-accounts/default/email | 
O email da conta de serviço predefinido atribuído ao seu projeto. | 
/computeMetadata/v1/instance/service-accounts/default/ | 
Apresenta todas as contas de serviço predefinidas do seu projeto. | 
/computeMetadata/v1/instance/service-accounts/default/scopes | 
Lista todos os âmbitos suportados para as contas de serviço predefinidas. | 
/computeMetadata/v1/instance/service-accounts/default/token | 
Devolve o token de autorização que pode ser usado para autenticar a sua aplicação noutras APIs Google Cloud. | 
Por exemplo, para obter o ID do projeto, envie um pedido para
http://metadata.google.internal/computeMetadata/v1/project/project-id.