Implementar a configuração dos pontos finais

Depois de configurar o ficheiro .proto e o ficheiro de configuração da API gRPC, implemente-os para que o Cloud Endpoints tenha as informações necessárias para gerir a sua API. Para implementar a configuração do Endpoints, use o comando gcloud endpoints services deploy. Este comando usa a infraestrutura de serviços, a plataforma de serviços fundamentais da Google, usada pelos Endpoints e outros serviços para criar e gerir APIs e serviços. Esta página descreve como implementar os ficheiros de configuração nos Endpoints.

Pré-requisitos

Como ponto de partida, esta página pressupõe que:

Preparar a CLI do Google Cloud para a implementação

Use a ferramenta de linha de comandos gcloud para implementar a configuração. Consulte a referência gcloud para mais informações sobre os comandos.

Para se preparar para a implementação:

  1. Instale e inicialize a CLI gcloud.
  2. Atualize a CLI gcloud:
    gcloud components update
  3. Certifique-se de que a CLI gcloud está autorizada a aceder aos seus dados e serviços:
    gcloud auth login

    É aberto um novo separador do navegador e é-lhe pedido que escolha uma conta.

  4. Defina o projeto predefinido. Substitua [YOUR-PROJECT-ID] pelo ID do seu projeto da GCP
    gcloud config set project [YOUR-PROJECT-ID]
  5. Se vai implementar o seu back-end da API no Kubernetes ou no Kubernetes Engine, execute o seguinte comando para adquirir novas credenciais do utilizador a usar para as credenciais predefinidas da aplicação. As credenciais do utilizador são necessárias para autorizar kubectl.
    gcloud auth application-default login
    É aberto um novo separador do navegador e é-lhe pedido que escolha uma conta.

Implementar os ficheiros de configuração

  1. Certifique-se de que está no diretório onde se encontram os ficheiros api_descriptor.pb e api_config.yaml.
  2. Confirme que o projeto predefinido que a ferramenta de linha de comandos gcloud está a usar atualmente é o projeto Google Cloud no qual quer implementar a configuração do Endpoints. Valide o ID do projeto devolvido pelo seguinte comando para se certificar de que o serviço não é criado no projeto errado.
    gcloud config list project
    

    Se precisar de alterar o projeto predefinido, execute o seguinte comando:

    gcloud config set project YOUR_PROJECT_ID
    
  3. Implemente o ficheiro proto descriptor e o ficheiro de configuração através da CLI do Google Cloud:
    gcloud endpoints services deploy api_descriptor.pb api_config.yaml
    

    À medida que cria e configura o serviço, o Service Management envia informações para o terminal. Quando a implementação estiver concluída, é apresentada uma mensagem semelhante à seguinte:

    Service Configuration [CONFIG_ID] uploaded for service [bookstore.endpoints.example-project.cloud.goog]

    CONFIG_ID é o ID exclusivo da configuração do serviço Endpoints criado pela implementação. Por exemplo:

    Service Configuration [2017-02-13r0] uploaded for service [bookstore.endpoints.example-project.cloud.goog]
    

    No exemplo anterior, 2017-02-13r0 é o ID de configuração do serviço e bookstore.endpoints.example-project.cloud.goog é o nome do serviço. O ID de configuração do serviço consiste numa indicação de data/hora seguida de um número de revisão. Se implementar novamente a configuração dos Endpoints no mesmo dia, o número de revisão é incrementado no ID de configuração do serviço.

Se a configuração do seu serviço estiver em vários ficheiros YAML, pode transmiti-los todos para o comando deploy. Por exemplo, a livraria tem a sua configuração básica em api_config.yaml, mas pode ativar a transcodificação HTTP para o serviço implementando também api_config_http.yaml, que tem uma configuração adicional para esta funcionalidade:

gcloud endpoints services deploy api_descriptor.pb api_config.yaml api_config_http.yaml

Tenha em atenção que, se existirem valores em conflito nos seus ficheiros YAML, os valores no ficheiro especificado por último substituem os outros. Pode saber mais sobre como os Endpoints processam a união de vários ficheiros YAML em Configurar um serviço gRPC.

Se receber uma mensagem de erro, consulte o artigo Resolução de problemas da implementação da configuração dos pontos finais para ver informações sobre a resolução de problemas do erro.

A voltar a implementar

Sempre que alterar algo no ficheiro YAML de configuração do serviço ou da .proto, implemente novamente os ficheiros para que o proxy de serviço extensível (ESP) tenha a versão mais recente da configuração do serviço da sua API. Se implementou anteriormente o ESP com a opção rollout definida como managed, não precisa de reiniciar nem reimplementar o ESP. A opção rollout=managed configura o ESP para usar a configuração do serviço implementada mais recente. Quando especifica esta opção, até 5 minutos após implementar uma nova configuração de serviço, o ESP deteta a alteração e começa a usá-la automaticamente. Recomendamos que especifique esta opção em vez de um ID de configuração específico para o ESP usar.

Após a implementação da configuração inicial dos Endpoints, pode conceder a um utilizador, a uma conta de serviço ou a um grupo uma função que lhe permita reimplementar a configuração dos Endpoints. Consulte o artigo Conceder e revogar acesso à API para mais informações.

O que se segue?