Testar as funções do Cloud Run antes da implantação
Neste guia, mostramos como testar uma função do Cloud Run no console do Google Cloud antes de implantá-la. Esse recurso está disponível para as funções do Node.js e Python.
Preparar uma função para testes
Para preparar uma função para testes:
Abra a página de visão geral do Functions no console do Google Cloud:
Acessar a página Visão geral do Cloud Functions
Verifique se o projeto com o Cloud Functions ativado foi selecionado.
Clique em Criar função para criar uma nova função do Node.js ou Python ou selecione uma função existente do Node.js ou Python e clique em Editar para editá-la.
Clique em Próxima para avançar para a página de edição de código:
Clique em Testar função para iniciar o processo de testes.
Quando solicitado, clique em Iniciar teste para autorizar o uso do terminal do Cloud Shell.
Executar o teste
Quando você concluir as etapas anteriores, o painel do evento de acionamento será aberto à direita, confirmando que a função está pronta para ser testada. Clique em Executar teste:
Esta fase do processo de teste inclui os seguintes componentes:
- Painel de eventos de gatilho. Esse painel é pré-preenchido com um payload que corresponde ao gatilho de evento especificado na página de configuração. Essa é a entrada da sua função.
- Janela de saída do Cloud Shell. A janela de saída do Cloud Shell exibe o código de status HTTP e qualquer resposta retornada ao autor da chamada.
- Executar teste realiza o teste.
É possível observar a saída do teste na janela do Cloud Shell:
Terminal do Cloud Shell
É possível ver a saída da geração de registros pela sua função no terminal do Cloud Shell na parte inferior da tela. Por exemplo, você verá a saída de empacotamento do código-fonte quando abrir o painel de testes. Ao executar um teste, você verá as mudanças no código-fonte e a saída no nível da execução, incluindo console.log
e erros.
Se o teste falhar, o terminal do Cloud Shell exibirá uma mensagem de erro para ajudar a identificar a causa exata, por exemplo:
[11:31:47 AM] - Provided module can't be loaded. Is there a syntax error in your code? Detailed stack trace: /workspace/index.js:11 : 'World'; ^ SyntaxError: Unexpected token ':' at Object.compileFunction (node:vm:360:18) at wrapSafe (node:internal/modules/cjs/loader:1048:15) at Module._compile (node:internal/modules/cjs/loader:1083:27) at Module._extensions..js (node:internal/modules/cjs/loader:1173:10) at Module.load (node:internal/modules/cjs/loader:997:32) at Module._load (node:internal/modules/cjs/loader:838:12) at Module.require (node:internal/modules/cjs/loader:1021:19) at require (node:internal/modules/cjs/helpers:103:18) at getUserFunction (/workspace/node_modules/@google-cloud/functions-framework/build/src/loader.js:98:30) at async main (/workspace/node_modules/@google-cloud/functions-framework/build/src/main.js:35:32) [11:31:47 AM] - Could not load the function, shutting down.
Implantar
Depois de concluir o teste, será possível implantar a função da maneira habitual clicando em Implantar.
Limitações
Os testes de pré-implantação têm algumas limitações conhecidas.
Acesso à rede
Os testes de pré-implantação são executados no Cloud Shell, que não está conectado à VPC, mesmo que você tenha especificado um acesso VPC sem servidor nas etapas anteriores. Para testar um função do Cloud Run que depende da conectividade da VPC, você precisa implantar toda a função do Cloud Run.