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

  1. Instale e inicialize a gcloud CLI.
  2. Atualize a gcloud CLI:
    gcloud components update
  3. 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.

  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. Make sure you are in the directory where the api_descriptor.pb and api_config.yaml files are located.
  2. 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
    
  3. 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 and bookstore.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