A sua função do Cloud Run é executada num ambiente que consiste numa versão do sistema operativo com pacotes suplementares, suporte de idiomas e a biblioteca Java Functions Framework que suporta e invoca a sua função. Este ambiente é identificado pela versão do idioma e é conhecido como o ID de tempo de execução.
Preparação da função
Pode preparar uma função diretamente a partir da Google Cloud consola ou escrevê-la no seu computador local e carregá-la. Para preparar a sua máquina local para o desenvolvimento em Java, consulte o artigo Configure um ambiente de desenvolvimento Java.
Imagens base e tempos de execução Java suportados
Tempo de execução | ID do ambiente de execução | Camadas | Imagem base do tempo de execução |
---|---|---|---|
Java 21 | java21 |
|
|
Java 17 | java17 |
|
|
Java 11 | java11 | google-18-full | google-18-full/java11 |
Selecione o tempo de execução
Pode selecionar um dos runtimes Java suportados para a sua função durante a implementação.
Pode selecionar uma versão de tempo de execução através da Google Cloud consola ou da CLI gcloud. Clique no separador para ver instruções sobre como usar a ferramenta da sua escolha:
gcloud
Especifique a imagem base Java para a sua função através da flag --base-image
ao implementar a função. Por exemplo:
gcloud run deploy FUNCTION \
--source . \
--function FUNCTION_ENTRYPOINT \
--base-image java21
Substituir:
FUNCTION com o nome da função que está a implementar. Pode omitir este parâmetro por completo, mas é-lhe pedido o nome se o omitir.
FUNCTION_ENTRYPOINT com o ponto de entrada da sua função no código-fonte. Este é o código que o Cloud Run executa quando a sua função é executada. O valor desta flag tem de ser um nome de função ou um nome de classe totalmente qualificado que exista no seu código-fonte.
Para obter instruções detalhadas sobre a implementação de uma função através da CLI gcloud, consulte o artigo Implemente funções no Cloud Run.
Consola
Pode selecionar uma versão de tempo de execução quando cria ou atualiza uma função do Cloud Run na Google Cloud consola. Para ver instruções detalhadas sobre como implementar uma função, consulte o artigo Implemente funções no Cloud Run.
Para selecionar um tempo de execução na Google Cloud consola quando cria uma função, siga estes passos:
Na Google Cloud consola, aceda à página do Cloud Run:
Clique em Escrever uma função.
Na lista Tempo de execução, selecione uma versão do tempo de execução Java.
Clique em Criar e aguarde que o Cloud Run crie o serviço com uma revisão de marcador de posição.
A consola redireciona para o separador Origem, onde pode ver o código-fonte da sua função. Clique em Guardar e voltar a implementar.
Para obter instruções detalhadas sobre como atualizar a versão do tempo de execução após a implementação da função, consulte o artigo Volte a implementar um novo código-fonte.
Estrutura do código-fonte
Para que as funções do Cloud Run encontrem a definição da sua função, o código fonte tem de seguir uma estrutura específica. Consulte o artigo Escreva funções do Cloud Run para mais informações.
Especificar dependências
Pode especificar dependências para a sua função através do Maven ou do Gradle. Para mais informações, consulte o artigo Especifique dependências em Java.
Variáveis de ambiente
O tempo de execução do Java define automaticamente determinadas variáveis de ambiente para a sua função usar conforme necessário. Para obter detalhes, consulte o artigo Configure as variáveis de ambiente.
ID de execução
Para funções Java que usam a versão 1.4.0 ou posterior, pode usar a classe de registo java.util.logging.Logger
para adicionar um ID de execução exclusivo às saídas de registo.functions-framework
A utilização de stdout
ou stderr
(por exemplo, System.println()
) não adiciona o ID de execução.
Tenha em atenção que:
Se criou a sua função através da API Cloud Functions v2 (por exemplo, através de
gcloud functions
, da API REST ou do Terraform), este ID de execução é adicionado automaticamente.Se criou a sua função através da API Cloud Run Admin (por exemplo, através da Google Cloud consola, do
gcloud run
, da API REST ou do Terraform), tem de definir a variável de ambienteLOG_EXECUTION_ID
comotrue
para usar esta funcionalidade.