Depois de configurar o arquivo .proto e o arquivo de configuração da API gRPC, implante-os para que o Cloud Endpoints tenha as informações necessárias para gerenciar sua API. Para implantar a configuração do Endpoints, use o comando gcloud
endpoints services deploy. Esse comando usa a Service Infrastructure, a plataforma de serviços fundamentais do Google. Ela é usada pelo Endpoints e por outros serviços para criar e gerenciar APIs e serviços. Nesta página, você encontrará instruções sobre como implantar seus arquivos de configuração no Endpoints.
Pré-requisitos
Como ponto de partida, nesta página presume-se que você:
criou um projeto do Google Cloud em que você tem o papel de Editor ou Proprietário. Após a implantação inicial, é possível conceder o papel Editor de configuração do serviço mais restritivo. Consulte Como conceder e revogar o acesso à API para mais informações.
instalou o gRPC e as ferramentas dele (em inglês);
Que você configurou o Endpoints, que inclui:
Se você usar um nome de domínio personalizado (como
example.com), verifique o nome de domínio antes de implantar os arquivos de configuração do gRPC.
Como preparar a Google Cloud CLI para implantação
Use a ferramenta de linha de comando gcloud para implantar a configuração. Consulte a Referência da gcloud para mais informações sobre os comandos.
Para se preparar para a implantação:
- Instale e inicialize a gcloud CLI.
- Atualize a gcloud CLI:
gcloud components update
- Verifique se a gcloud CLI está autorizada a acessar os dados e serviços:
gcloud auth login
Uma nova guia do navegador será aberta. Escolha uma conta.
- Defina o projeto padrão. Substitua
[YOUR-PROJECT-ID]pelo ID do projeto do GCP.gcloud config set project [YOUR-PROJECT-ID]
- Se você estiver implantando o back-end da API para o Kubernetes ou Kubernetes Engine, execute o comando a seguir para receber novas credenciais de usuário para o Application Default Credentials. As credenciais de usuário são necessárias para autorizar
kubectl. Uma nova guia do navegador será aberta. Escolha uma conta.gcloud auth application-default login
Como implantar arquivos de configuração
- Certifique-se de que está no diretório onde se encontram os ficheiros
api_descriptor.pbeapi_config.yaml. - Confirme que o projeto predefinido que a ferramenta de linha de comandos
gcloudestá 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 descriptore 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 de seu serviço estiver em vários arquivos YAML, será possível passá-los para o comando deploy. Por exemplo, o Bookstore tem a configuração básica em api_config.yaml, mas é possível ativar a transcodificação HTTP para o serviço implantando api_config_http.yaml também, que tem configuração adicional para este recurso:
gcloud endpoints services deploy api_descriptor.pb api_config.yaml api_config_http.yaml
Observe que, se houver valores conflitantes nos seus arquivos YAML, os valores no arquivo especificado por último substituem os demais. Para saber mais sobre como o Endpoints processa a mesclagem de vários arquivos YAML, consulte Como configurar um serviço da API gRPC.
Se você receber uma mensagem de erro, consulte Como solucionar problemas de implantação na configuração do Endpoints.
Reimplantação
Sempre que você alterar um item no arquivo YAML de configuração do serviço ou .proto, implante os arquivos novamente para que o Extensible Service Proxy (ESP) tenha a versão mais recente da configuração de serviço da API. Se você já tiver implementado o ESP com a opção rollout definida como managed, não será necessário reiniciar nem reimplantar o ESP. A opção rollout=managed configura o ESP para usar a implantação mais recente da configuração do serviço. Quando você especifica essa opção, até 5 minutos depois de implantar uma nova configuração de serviço, o ESP detecta a alteração e começa a usá-la automaticamente. Recomendamos especificar essa opção em vez de um ID de configuração específico para uso do ESP.
Após a implantação inicial da configuração do Endpoints, é possível conceder a um usuário, conta de serviço ou grupo um papel que permita a reimplantação da configuração do Endpoints. Consulte Como conceder e revogar o acesso à API para mais informações.
A seguir
- Implantar o back-end da API
- Como executar o ESP localmente ou em outra plataforma
- Como conseguir o nome e o ID de configuração do serviço