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 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:
- 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
- Certifique-se de que está no diretório onde se encontram os ficheiros
api_descriptor.pb
eapi_config.yaml
. - 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
- 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 ebookstore.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?
- 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