O tempo de execução do Go
Visão geral
A função do Cloud Run é executada em um ambiente que consiste em uma versão do sistema operacional, além de pacotes complementares, suporte a linguagens e a biblioteca do Functions Framework que dá suporte e invoca a função. Esse ambiente é identificado pela versão da linguagem e conhecido como ambiente de execução.
Para mais informações sobre tempos de execução em geral e para saber qual versão do Ubuntu cada ambiente de execução Go usa, consulte o ambiente de execução do Cloud Run functions.
Selecionar o ambiente de execução
As funções do Cloud Run dão suporte a várias versões do Go, que estão listadas na página Suporte ao ambiente de execução. Selecione seu ambiente de execução Go preferencial para a função durante a implantação.
gcloud
Se você estiver usando a Google Cloud CLI, especifique o ambiente de execução usando o parâmetro --runtime
com o ambiente de execução do Go de sua escolha.
Por exemplo:
gcloud functions deploy FUNCTION_NAME --runtime go122 FLAGS...
FLAGS...
refere-se a argumentos transmitidos durante a primeira
implantação da função. Para mais informações sobre argumentos obrigatórios e
opcionais, consulte
Implantação com a CLI do Google Cloud.
Console
Se você estiver usando o console do Google Cloud, consulte o Guia de início rápido do console do Google Cloud para conferir instruções detalhadas.
Preparação de funções
É possível preparar uma função diretamente do console do Google Cloud ou gravá-la na máquina local e fazer upload dela. Para preparar a máquina local para desenvolvimento do Go, consulte Como configurar um ambiente de desenvolvimento do Go.
Para começar rapidamente a usar o Go no Cloud Run functions, consulte o Guia de início rápido.
Estrutura do código-fonte
Para que as funções do Cloud Run encontrem a definição da sua função, seu código-fonte precisa seguir uma estrutura específica. Consulte Como escrever funções do Cloud Run para mais informações.
Como especificar dependências
O Cloud Run functions no Go precisa fornecer todas as respectivas dependências com
módulos Go e um arquivo go.mod
ou com um diretório vendor
. Para mais informações, consulte Como especificar dependências no Go.
Variáveis de ambiente
O ambiente de execução do Go define automaticamente certas variáveis de ambiente para que sua função use conforme necessário. Para detalhes, consulte Como usar variáveis de ambiente.
Context
tipo
O pacote context
do Go define o tipo de Context
,
que transporta prazos, sinais de cancelamento e outros valores do escopo
de solicitações entre limites de APIs e entre processos.
O código a seguir mostra um exemplo de acesso ao contexto por um cliente do Pub/Sub: