Guia de início rápido sobre o uso do App Engine

Neste guia de início rápido, você conhecerá o Error Reporting e saberá como fazer o seguinte:

  • implantar um aplicativo do App Engine para Python usando o Cloud Shell;
  • visualizar um erro em seu aplicativo usando o Error Reporting;
  • configurar o Error Reporting para enviar notificações.

Acesse o tutorial interativo de três minutos no Console do Google Cloud.
Clique em Começar na coluna Introdução do Error Reporting.

Antes de começar

  1. Faça login na sua conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar a página do seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Abra um Cloud Shell para o projeto. Enquanto ele inicializa, a mensagem Conectando é exibida.

    Abra o Cloud Shell.

Primeiros passos

Nesta seção, você faz o download e implanta um aplicativo no App Engine:

  1. Faça o download e configure o aplicativo do projeto python-docs-samples do GitHub:

    1. Clone o projeto no Cloud Shell:

      git clone https://github.com/GoogleCloudPlatform/python-docs-samples
      

      O Git retorna uma mensagem semelhante a esta:

      git clone https://github.com/GoogleCloudPlatform/python-docs-samples
      Cloning into 'python-docs-samples'...
      
    2. Crie um ambiente Python isolado e ative-o:

      cd python-docs-samples/appengine/standard_python3/hello_world
      virtualenv env -p python3
      source env/bin/activate
      
    3. Instale as dependências:

      pip install -r requirements.txt
      
  2. Verifique se a instalação e a configuração do aplicativo foram bem-sucedidas:

    1. Execute o aplicativo:

      python main.py
      
    2. Para visualizar o aplicativo em uma página da Web local, clique no link exibido no Cloud Shell. A página da Web exibe Hello World!.

    3. Para interromper o aplicativo em execução, digite Ctrl-C no Cloud Shell.

  3. Faça upload do aplicativo no App Engine.

    gcloud app deploy
    

    Se for solicitada uma região de implantação, selecione uma perto de você. Digite Y quando perguntado se você quer continuar. Depois de alguns momentos, o upload estará concluído.

  4. Visualize o aplicativo em um navegador executando o seguinte comando no Cloud Shell:

    gcloud app browse
    

    Se o SDK do Cloud não encontrar o navegador, o comando anterior exibirá uma mensagem de erro e um link. Clique no link exibido. A mensagem Hello, World! é exibida no navegador.

Introduzir um erro

Nas próximas etapas, crie um erro que o Error Reporting capturará e exibirá:

  1. Edite main.py e altere

    return 'Hello World!
    

    a

    return 'Hello World!' + 1000
    

    Quando executada, essa alteração causa uma exceção TypeError do Python porque é ilegal concatenar uma string e um número inteiro.

  2. Faça upload do aplicativo modificado no App Engine:

    gcloud app deploy
    
  3. Volte para a guia do navegador que contém o aplicativo em execução e atualize a página. Devido à alteração, em vez da página exibir Hello, World!, ela exibe uma mensagem de erro:

    Internal Server Error
    The server encountered an internal error and was unable to complete your
    request. Either the server is overloaded or there is an error in the
    application.
    

    Se você não vir essa mensagem, espere um minuto e recarregue-a. Pode levar alguns instantes para a nova versão ser ativada.

Visualizar o erro no Error Reporting

A mensagem de erro exibida na página da Web não é útil porque não fornece detalhes suficientes para resolver o problema. No entanto, se você usar o Error Reporting, poderá acessar informações detalhadas sobre o erro e o número de vezes que ele ocorreu:

  1. Acesse o Error Reporting:

    Acessar o Error Reporting

    O painel do Error Reporting exibe um resumo de cada erro encontrado e o número de ocorrências de cada erro. Por padrão, o Error Reporting recarrega automaticamente a lista de erros a cada cinco segundos. No entanto, para forçar uma atualização imediata, clique em Atualizar automaticamente.

    Para este guia de início rápido, o painel exibe um erro com a descrição "TypeError: can only concatenate str (not "int") to str". Talvez seja necessário aguardar um minuto e atualizar a página para ver o erro:

    A interface do usuário mostrando o erro de teste.

  2. Gere o mesmo erro novamente, atualizando o aplicativo no navegador.

    Como o rastreamento de pilha do novo erro é semelhante ao primeiro erro, o Error Reporting os agrupa atualizando o número de Ocorrências e o gráfico de tempo:

    A interface do usuário mostrando as ocorrências em lote do erro de teste.

  3. Para visualizar a página de detalhes que contém todas as informações disponíveis sobre um erro, incluindo links para o código-fonte, clique no nome do erro:

    A interface do usuário mostrando a página de detalhes do erro de teste.

Configurar notificações

É possível configurar o Error Reporting para notificá-lo quando um novo tipo de erro chegar. As notificações não são enviadas quando há novas ocorrências de erros atuais:

  1. Acesse o Error Reporting:

    Acessar o Error Reporting

  2. Para ativar as notificações por e-mail, clique em Mais e selecione Ativar notificações de novos erros para o projeto na lista suspensa.

  3. Em main.py, altere

    return 'Hello World!` + 1000
    

    a

    return 'Hello World!'.punctuate()
    

    Quando executada, essa alteração causa uma exceção AttributeError do Python porque o atributo punctuate() não existe.

  4. Faça upload do arquivo modificado no App Engine:

    gcloud app deploy
    
  5. Gere o novo erro atualizando o aplicativo no navegador.

    • O navegador exibe a mensagem Internal Server Error.

    • O painel do Error Reporting exibe um erro com a descrição "AttributeError: 'str' object has no attribute 'punctuate'.

    • Seu e-mail terá uma nova notificação contendo detalhes sobre o erro, incluindo:

      • Project ID
      • Uma descrição de erro. Neste caso, ela incluirá "AttributeError: 'str' object has no attribute 'punctuate'
      • Serviço
      • versão do aplicativo

Limpar

Para evitar cobranças em sua conta do Google Cloud pelos recursos usados neste guia de início rápido, siga estas etapas:

  1. No Console do Cloud, acesse a página Gerenciar recursos:

    Acessar a página "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

A seguir