Depois de configurar o ficheiro .proto e o ficheiro de configuração da API gRPC, implemente-os para que o
Cloud Endpoints tenha as informações necessárias para gerir a sua API. Para implementar a configuração do Endpoints, use o comando gcloud
endpoints services deploy. Este comando usa a infraestrutura de serviços, a plataforma de serviços
fundamentais da Google, usada pelos Endpoints e outros
serviços para criar e gerir APIs e serviços. Esta página descreve como
implementar os ficheiros de configuração nos Endpoints.
Pré-requisitos
Como ponto de partida, esta página pressupõe que:
Criou um Google Cloud projeto no qual tem a função de Editor ou Proprietário. Após a implementação inicial, pode conceder a função Editor de configuração de serviços mais restritiva. Consulte o artigo Conceder e revogar acesso à API para mais informações.
Pontos finais configurados, que incluem:
Se usar um nome de domínio personalizado (como
example.com), tem de validar o nome de domínio antes de poder implementar os ficheiros de configuração do gRPC.
Preparar a Google Cloud CLI para a implementação
Use a ferramenta de linha de comandos gcloud para
implementar a configuração. Consulte a
referência gcloud para mais informações sobre os comandos.
Para se preparar para a implementação:
- Instale e inicialize a CLI gcloud.
- Atualize a CLI gcloud:
gcloud components update
- Certifique-se de que a CLI gcloud está autorizada a aceder aos seus dados e
serviços:
gcloud auth login
É aberto um novo separador do navegador e é-lhe pedido que escolha uma conta.
- Defina o projeto predefinido. Substitua
[YOUR-PROJECT-ID]pelo ID do seu projeto da GCPgcloud config set project [YOUR-PROJECT-ID]
- Se vai implementar o seu back-end da API no Kubernetes ou no Kubernetes Engine, execute o seguinte comando para adquirir novas credenciais do utilizador a usar para as credenciais predefinidas da aplicação. As credenciais do utilizador são necessárias para autorizar
kubectl. É aberto um novo separador do navegador e é-lhe pedido que escolha uma conta.gcloud auth application-default login
Implementar os ficheiros de configuração
- 确保您位于
api_descriptor.pb和api_config.yaml文件所在的目录中。 - 确认
gcloud命令行工具当前使用的默认项目是您要向其部署 Endpoints 配置的 Google Cloud 项目。验证从以下命令返回的项目 ID,以确保不会在错误的项目中创建服务。gcloud config list project
如果您需要更改默认项目,请运行以下命令:
gcloud config set project YOUR_PROJECT_ID
- 使用 Google Cloud CLI 部署
proto descriptor文件和配置文件:gcloud endpoints services deploy api_descriptor.pb api_config.yaml
在创建和配置服务时,Service Management 会向终端输出信息。部署完成后,系统将显示如下所示的消息:
Service Configuration [CONFIG_ID] uploaded for service [bookstore.endpoints.example-project.cloud.goog]
CONFIG_ID 是部署创建的唯一 Endpoints 服务配置 ID。例如:
Service Configuration [2017-02-13r0] uploaded for service [bookstore.endpoints.example-project.cloud.goog]
在前面的示例中,
2017-02-13r0是服务配置 ID,bookstore.endpoints.example-project.cloud.goog是服务名称。服务配置 ID 由日期戳后跟一个修订版本号组成。如果您在同一天再次部署 Endpoints 配置,服务配置 ID 中的修订版本号将递增。
Se a configuração do seu serviço estiver em vários ficheiros YAML, pode transmiti-los todos
para o comando deploy. Por exemplo, a livraria tem a sua configuração básica em api_config.yaml, mas pode ativar a transcodificação HTTP para o serviço implementando também api_config_http.yaml, que tem uma configuração adicional para esta funcionalidade:
gcloud endpoints services deploy api_descriptor.pb api_config.yaml api_config_http.yaml
Tenha em atenção que, se existirem valores em conflito nos seus ficheiros YAML, os valores no ficheiro especificado por último substituem os outros. Pode saber mais sobre como os Endpoints processam a união de vários ficheiros YAML em Configurar um serviço gRPC.
Se receber uma mensagem de erro, consulte o artigo Resolução de problemas da implementação da configuração dos pontos finais para ver informações sobre a resolução de problemas do erro.
A voltar a implementar
Sempre que alterar algo no ficheiro YAML de configuração do serviço ou da .proto, implemente novamente os ficheiros para que o proxy de serviço extensível (ESP) tenha a versão mais recente da configuração do serviço da sua API. Se implementou anteriormente o ESP com a opção rollout definida como managed, não precisa de reiniciar nem reimplementar o ESP. A opção rollout=managed
configura o ESP para usar a configuração do serviço implementada mais recente. Quando
especifica esta opção, até 5 minutos após implementar uma nova configuração de serviço, o ESP deteta a alteração e começa a usá-la automaticamente. Recomendamos que especifique esta opção em vez de um ID de configuração específico para o ESP usar.
Após a implementação da configuração inicial dos Endpoints, pode conceder a um utilizador, a uma conta de serviço ou a um grupo uma função que lhe permita reimplementar a configuração dos Endpoints. Consulte o artigo Conceder e revogar acesso à API para mais informações.