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 CLI do Google Cloud 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
- Make sure you are in the directory where the
api_descriptor.pb
andapi_config.yaml
files are located. - 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
- 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 andbookstore.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 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. O rollout=managed
opção
configura o ESP para usar a implantação mais recente da configuração de 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