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 Platform em que você tem o papel 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 seus dados e serviços:
gcloud auth login
Uma nova guia do navegador será aberta e você precisará escolher 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 e você precisará escolher uma conta.gcloud auth application-default login
Como implantar arquivos de configuração
- Verifique se você está no diretório onde os arquivos
api_descriptor.pb
eapi_config.yaml
estão localizados. - Confirme se o projeto padrão que a ferramenta de linha de comando
gcloud
está usando no momento é o projeto do Google Cloud em que você pretende implantar a configuração do Endpoints. Valide o código do projeto retornado do comando a seguir para garantir que o serviço não seja criado no projeto incorreto.gcloud config list project
Se você precisar alterar o projeto padrão, execute o comando:
gcloud config set project YOUR_PROJECT_ID
- Implante o arquivo
proto descriptor
e o arquivo de configuração usando a Google Cloud CLI:gcloud endpoints services deploy api_descriptor.pb api_config.yaml
Durante a criação e a configuração do serviço, o Service Management envia informações ao terminal. Quando a implantação for concluída, uma mensagem parecida com esta será exibida:
Service Configuration [CONFIG_ID] uploaded for service [bookstore.endpoints.example-project.cloud.goog]
CONFIG_ID é o ID exclusivo de configuração de serviço do Endpoints criado pela implantação. 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 código de configuração do serviço consiste em um carimbo de data e um número de revisão. Se você implantar novamente a configuração do Endpoints no mesmo dia, o número de revisão será alterado no código da 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
- Primeiros passos no uso do Portal do Cloud Endpoints
- 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