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:
Criou um Google Cloud projeto no qual tem a função de Editor ou Proprietário. Após a implementação inicial, pode conceder a função Editor de configuração de serviços mais restritiva. Consulte o artigo Conceder e revogar acesso à API para mais informações.
Pontos finais configurados, que incluem:
Se usar um nome de domínio personalizado (como
example.com), tem de validar o nome de domínio antes de poder implementar os ficheiros de configuração do gRPC.
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:
- Instale e inicialize a CLI gcloud.
- Atualize a CLI gcloud:
gcloud components update
- 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.
- Defina o projeto predefinido. Substitua
[YOUR-PROJECT-ID]pelo ID do seu projeto da GCPgcloud config set project [YOUR-PROJECT-ID]
- 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. É aberto um novo separador do navegador e é-lhe pedido que escolha uma conta.gcloud auth application-default login
Implementar os ficheiros de configuração
- Make sure you are in the directory where the
api_descriptor.pbandapi_config.yamlfiles are located. - Confirm that the default project that the
gcloudcommand-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
- Deploy the
proto descriptorfile 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-13r0is the service configuration ID andbookstore.endpoints.example-project.cloud.googis 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?
- Implementar o back-end da API
- Executar o ESP localmente ou noutra plataforma
- Obter o nome do serviço e o ID de configuração