Esta página descreve como resolver problemas de erros que pode encontrar quando implementa a configuração do Cloud Endpoints. As mensagens de erro que vê contêm informações específicas do seu projeto. Por exemplo, pode ver uma mensagem de erro com o ID do seu projeto. Nesta página, verá valores de marcadores de posição, como YOUR_PROJECT_ID.
Após cada passo, execute novamente o comando gcloud endpoints services deploy
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 é apresentado quando um ou mais caminhos no seu documento OpenAPI incluem um caráter de barra invertida (/
) no final. Para corrigir este problema, remova a barra invertida final de todos os caminhos. Por exemplo, o seguinte fragmento num documento OpenAPI resulta neste erro:
paths: "/echo/": post: description: "Echo back a given message."
Para corrigir este problema, remova a barra final de /echo/
:
paths: "/echo": post: description: "Echo back a given message."
Não tem autorização para obter as definições do projeto
ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Not allowed to get project settings for project YOUR_PROJECT_ID
- Autentique novamente com a CLI gcloud para confirmar que fez a autenticação
com uma conta que tem autorização para aceder ao projeto apresentado na mensagem
de erro:
gcloud auth login
É aberto um novo separador do navegador e é-lhe pedido que escolha uma conta.
- Confirme se o ID do projeto apresentado na mensagem de erro corresponde ao
projeto no qual pretende implementar a configuração dos
Endpoints: Google Cloud
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 autorização
ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Caller does not have permission 'servicemanagement.services.create' on
project YOUR_PROJECT_ID
Quando implementa a configuração do Endpoints pela primeira vez, o Service Management cria um serviço gerido para a sua API. Para criar um serviço gerido, tem de ter, no mínimo, a função de Editor ao nível do projeto. Depois de o Service Management criar o serviço gerido, as autorizações mínimas necessárias para reimplementar uma configuração do Endpoints são a função de editor de configuração de serviços (roles/servicemanagement.configEditor) no serviço. Para mais informações, consulte o artigo Conceder acesso à API.
Não é possível validar 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 tiver um domínio personalizado (como
example.com
) configurado no campohost
do seu documento OpenAPI, tem de validar o nome do domínio antes de poder implementar o seu documento OpenAPI. - Se estiver a usar o domínio
cloud.goog
, confirme que o valor do campohost
está no seguinte formato e que o ID do projeto está correto:API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog
- Se estiver a usar o domínio
appspot.com
(suportado apenas para o App Engine), confirme se o campohost
está no seguinte formato e se o ID do projeto está correto:YOUR_PROJECT_ID.appspot.com
Resolução de outros erros
Se recebeu um erro que não está listado aqui ou se as informações não resolveram o seu problema, execute novamente o comando gcloud
com a flag para apresentar informações de depuração:
gcloud --verbosity=debug endpoints services deploy openapi.yaml