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 solucionado.

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

ERROR: (gcloud.endpoints.services.deploy) INVALID_ARGUMENT:
Cannot convert to service config. http: undefined field <unknown> on message <RequestType>

Verifique se no arquivo .proto há campos de correspondência incorreta entre as mensagens de buffer de protocolo e os mapeamentos de transcodificação.

Por exemplo, a sequência a seguir em um arquivo .proto produz esse erro. A opção de mapeamento em Unary especifica um campo chamado undefined que não se encontra na definição de mensagem Request.

rpc Unary(Request) Response {
  option (google.api.http) { get : "/{undefined}" };
}

message Request {
  string defined = 1;
}

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 código do projeto exibido na mensagem de erro corresponde ao projeto do GCP em que você pretende implantar a configuração do Endpoints:
    gcloud projects list
    
  3. Confirme se o SDK do Cloud tem o código 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, no mínimo, você precisa ter 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 você tiver um domínio personalizado (por exemplo, example.com) configurado no campo name do arquivo api_config.yaml, será preciso verificar o nome de domínio antes de implantar a configuração do serviço.
  • Se você estiver usando o domínio cloud.goog, confirme se o valor do campo name está no formato a seguir e se o código do projeto está correto:
    API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog
    

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 api_descriptor.pb api_config.yaml api_config_http.yaml

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud Endpoints com gRPC
Precisa de ajuda? Acesse nossa página de suporte.