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
- Faça novamente a autenticação com CLI gcloud 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.
- 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
- Confirme se a CLI gcloud 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 campohost
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 campohost
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 campohost
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