Resolução de problemas de erros de resposta

Se não receber uma resposta bem-sucedida de um pedido à sua API Cloud Endpoints Frameworks, pode usar o Cloud Logging naGoogle Cloud consola para ajudar a resolver problemas.

Ver registos

  1. Na Google Cloud consola, aceda à página Registo > Explorador de registos.

    Aceda à página do Explorador de registos

  2. Na lista pendente de projetos na parte superior da página, selecione o Google Cloud projeto no qual criou a sua API.

  3. Selecione Aplicação GAE e Todos os registos.

  4. Ajuste o intervalo de tempo até ver uma linha que apresenta um erro.

  5. Clique em Expandir tudo para ver o registo completo do erro.

A secção seguinte fornece informações de resolução de problemas para mensagens de erro específicas. Se não conseguir corrigir o problema, copie uma das entradas de registo que mostra o erro e cole-a num ficheiro de texto. Inclua o registo em qualquer comunicação que tiver com a Google.

503 Service Unavailable

O App Engine pode demorar alguns minutos a responder com êxito aos pedidos. Se enviar um pedido e receber um erro 503, aguarde alguns minutos e tente enviar o pedido novamente. Se ainda não receber uma resposta com êxito, verifique os registos do Cloud Logging. Seguem-se algumas mensagens de erro que pode ver nos registos do Cloud Logging.

Mensagem de erro Resolução de problemas
Nenhum serviço YOUR_PROJECT_ID.appspot.com encontrado ou permissão recusada. Se este for um novo serviço do Endpoints, certifique-se de que implementou a configuração do serviço através do gcloud. O Endpoints Frameworks para Python regista este erro quando não consegue carregar a configuração do serviço para o serviço que especificou no ficheiro app.yaml. Este erro pode ocorrer quando não implementou o documento OpenAPI para a sua API através do comando gcloud endpoints services deploy ou a API Service Management não está ativada. Quando implementa o documento OpenAPI para a sua API, o comando gcloud ativa automaticamente o seguinte:
  • API Service Management (servicemanagement.googleapis.com)
  • APIs Cloud (cloudapis.googleapis.com)
Se tiver desativado algum destes serviços, tem de os reativar. Consulte o artigo Ativar e desativar APIs para mais informações.
O serviço YOUR_PROJECT_ID.appspot.com foi encontrado, mas não foi encontrada nenhuma configuração do serviço para a versão SERVICE_CONFIG_ID. O Endpoints Frameworks para Python regista este erro quando não consegue encontrar o ID de configuração do serviço que especificou para ENDPOINTS_SERVICE_VERSION no seu ficheiro app.yaml. Para corrigir este erro:
  1. Obtenha o ID de configuração do serviço.
  2. Edite o ficheiro app.yaml e defina ENDPOINTS_SERVICE_VERSION para o ID de configuração do serviço.
  3. Volte a implementar a sua app:
    gcloud app deploy

404 Not Found

Se migrou recentemente para a versão 2 dos Frameworks de Endpoints e receber a mensagem de erro 404 Not Found, consulte as secções seguintes para resolver o problema:

Problemas com o exemplo Invoke-WebRequest

Em algumas versões do Windows PowerShell, o exemplo Invoke-WebRequest nos tutoriais falha. Também recebemos um relatório a indicar que a resposta continha uma lista de bytes não assinados que tinham de ser convertidos em carateres. Se o exemplo Invoke-WebRequest não devolveu o resultado esperado, experimente enviar o pedido através de outra aplicação. Seguem-se algumas sugestões:

  • Inicie o Cloud Shell e siga os passos do Linux no tutorial que estava a usar para enviar o pedido.
  • Use uma aplicação de terceiros, como a extensão do navegador Chrome Postman (oferecida pela www.getpostman.com). Ao criar o pedido no Postman:

    • Selecione POST como verbo HTTP.
    • Para o cabeçalho, selecione a chave content-type e o valor application/json.
    • Para o corpo, introduza: {"message":"hello world"}
    • Introduza o URL da aplicação de exemplo. Por exemplo:

      https://example-project-12345.appspot.com/_ah/api/echo/v1/echo
      
  • Transfira e instale o curl, que executa na linha de comandos. Uma vez que o Windows não processa as aspas duplas aninhadas em aspas simples, tem de alterar a opção --datano exemplo da seguinte forma: --data "{\"message\":\"hello world\"}"

O que se segue?