Esta página foi traduzida pela API Cloud Translation.
Switch to English

Solução de problemas na implantação da configuração do Cloud Endpoints

Nesta página, descrevemos como solucionar erros que podem ocorrer ao implantar a configuração do Cloud Endpoints. As mensagens de erro exibidas contêm informações específicas do seu projeto. Por exemplo, é possível ver uma mensagem de erro com o código do projeto. Nesta página, você verá valores de marcadores como YOUR_PROJECT_ID.

Após cada etapa, execute o comando gcloud endpoints services deploy novamente para ver se o erro foi resolvido.

Não é possível converter para a configuração do serviço

ERROR: unknown location: http: In path template '[PATH]': unexpected end of input '/'.'

Este erro é exibido quando um ou mais caminhos no documento da OpenAPI incluem um caractere de barra à direita (/). Para corrigir esse problema, remova a barra final de todos os caminhos. Por exemplo, o snippet a seguir em um documento da OpenAPI gera este erro:

paths:
  "/echo/":
    post:
      description: "Echo back a given message."

Para corrigi-lo, remova a barra final de /echo/:

paths:
  "/echo":
    post:
      description: "Echo back a given message."

Sem permissão para receber configurações do projeto

ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Not allowed to get project settings for project YOUR_PROJECT_ID

  1. Faça novamente a autenticação com o Cloud SDK para confirmar que você está autenticado em uma conta com permissão para acessar o projeto exibido na mensagem de erro:
    gcloud auth login
    

    Uma nova guia do navegador será aberta, e você precisará escolher uma conta.

  2. Confirme se o ID do projeto exibido na mensagem de erro corresponde ao projeto do Google Cloud em que você pretende implantar a configuração do Endpoints:
    gcloud projects list
    
  3. Confirme se o SDK do Cloud tem o ID do projeto correto definido como o projeto atual:
    gcloud config set project YOUR_PROJECT_ID
    

O autor da chamada não tem permissão

ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Caller does not have permission 'servicemanagement.services.create' on project YOUR_PROJECT_ID

Quando você implanta a configuração do Endpoints pela primeira vez, o Service Management cria um serviço gerenciado para a API. Para criar um serviço gerenciado, é preciso ter no mínimo o papel Editor para envolvidos no projeto. Depois que o Service Management cria o serviço gerenciado, a permissão mínima necessária para reimplantar uma configuração do Endpoints é fornecida pelo papel Editor de configuração do serviço (roles/servicemanagement.configEditor). Para mais informações, consulte Como conceder acesso à API.

Não é possível verificar a propriedade do nome de domínio

ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Ownership for domain name YOUR_DOMAIN_NAME on project YOUR_PROJECT_ID cannot be verified

  • Se houver um domínio personalizado como example.com configurado no campo host do documento da OpenAPI, é necessário verificar o nome de domínio antes de implantar esse documento.
  • Se você estiver usando o domínio cloud.goog, confirme se o valor do campo host está no formato a seguir e se o ID do projeto está correto:
    API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog
    
  • Se você estiver usando o domínio appspot.com, compatível somente com o App Engine, confirme se o valor do campo host está no formato a seguir e se o ID do projeto está correto:
    YOUR_PROJECT_ID.appspot.com
    

Como solucionar outros erros

Se você recebeu um erro não listado acima, ou se as informações não ajudaram a resolver o problema, execute novamente o comando gcloud com a sinalização para exibir as informações de depuração:

gcloud --verbosity=debug endpoints services deploy openapi.yaml

A seguir