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 Google Cloud CLI 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. Make sure you are in the directory where the api_descriptor.pb and api_config.yaml files are located.
  2. Confirm that the default project that the gcloud command-line tool is currently using is the Google Cloud project that you want to deploy the Endpoints configuration to. Validate the project ID returned from the following command to make sure that the service doesn't get created in the wrong project.
    gcloud config list project
    

    If you need to change the default project, run the following command:

    gcloud config set project YOUR_PROJECT_ID
    
  3. Deploy the proto descriptor file and the configuration file by using the Google Cloud CLI:
    gcloud endpoints services deploy api_descriptor.pb api_config.yaml
    

    As it is creating and configuring the service, Service Management outputs information to the terminal. When the deployment completes, a message similar to the following is displayed:

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

    CONFIG_ID is the unique Endpoints service configuration ID created by the deployment. For example:

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

    In the previous example, 2017-02-13r0 is the service configuration ID and bookstore.endpoints.example-project.cloud.goog is the service name. The service configuration ID consists of a date stamp followed by a revision number. If you deploy the Endpoints configuration again on the same day, the revision number is incremented in the service configuration ID.

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?