Como implantar a configuração do Endpoints

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ê:

Como preparar o Cloud SDK 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:

  1. Instale e inicialize o SDK do Cloud.
  2. Atualize o Cloud SDK:
    gcloud components update
    
  3. Verifique se o Cloud SDK tem autorização para acessar seus dados e serviços:
    gcloud auth login
    

    Uma nova guia do navegador será aberta, e você precisará escolher uma conta.

  4. Defina o projeto padrão. Substitua [YOUR-PROJECT-ID] pelo ID do projeto do GCP.
    gcloud config set project [YOUR-PROJECT-ID]
    
  5. 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.
    gcloud auth application-default login
    Uma nova guia do navegador será aberta e você precisará escolher uma conta.

Como implantar arquivos de configuração

  1. Verifique se você está no diretório onde os arquivos api_descriptor.pb e api_config.yaml estão localizados.
  2. 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
    
  3. Implante o arquivo proto descriptor e o arquivo de configuração usando a ferramenta de linha de comando gcloud:
    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 e bookstore.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 gRPC.

Se você receber uma mensagem de erro, consulte Como solucionar problemas de implantação na configuração do Endpoints para informações sobre como solucionar o erro.

Como fazer a 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, uma conta de serviço ou um 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