Configure o gRPC do Cloud Endpoints para o Knative Serving com o ESPv2
Esta página mostra como configurar o Cloud Endpoints para o Knative serving. Os Endpoints usam o Extensible Service Proxy V2 (ESPv2) como um gateway de API. Para fornecer gestão de APIs para o Knative Serving, implementa o contentor ESPv2 pré-criado no Knative Serving em execução num cluster do GKE.
Com esta configuração, o ESPv2 interceta todos os pedidos aos seus serviços e realiza todas as verificações necessárias (como a autenticação) antes de invocar o serviço. Quando o serviço responde, o ESPv2 recolhe e comunica a telemetria.
Para uma vista geral dos pontos finais, consulte os artigos Acerca dos pontos finais e Arquitetura dos pontos finais.
Lista de tarefas
Use a seguinte lista de tarefas enquanto segue o tutorial. Todas as tarefas são necessárias para concluir este tutorial.
Crie um Google Cloud projeto e, se ainda não tiver implementado o seu próprio Knative Serving, implemente um serviço de exemplo. Consulte a secção Antes de começar.
Crie um cluster do GKE com a publicação do Knative ativada.
Implemente um exemplo de gRPC do serviço Knative.
Crie um documento de configuração da API gRPC que descreva a sua API Endpoints e configure as rotas para o seu serviço Knative serving. Consulte o artigo Configurar pontos finais.
Implemente o documento de configuração da API gRPC para criar um serviço gerido. Consulte o artigo Implementar a configuração dos Endpoints.
Crie uma nova imagem Docker do ESPv2 com a configuração do serviço Endpoints. Consulte o artigo Criar uma nova imagem do ESPv2.
Implemente a nova imagem de publicação do Knative ESPv2. Consulte o artigo Implementar a imagem do Cloud Run do ESPv2.
Crie um mapeamento de domínio para o serviço de publicação do Knative ESPv2.
Teste a sua configuração enviando um pedido para a API.
Monitorize a atividade nos seus serviços. Consulte o artigo Acompanhamento da atividade da API.
Custos
Neste documento, usa os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custos com base na sua utilização projetada,
use a calculadora de preços.
Quando terminar as tarefas descritas neste documento, pode evitar a faturação contínua eliminando os recursos que criou. Para mais informações, consulte o artigo Limpe.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Tome nota do ID do projeto, pois é necessário mais tarde. No resto desta página, este ID do projeto é designado ESPv2_PROJECT_ID.
- Transfira e instale a CLI gcloud.
Certifique-se de que a CLI gcloud está autorizada a aceder aos seus dados e serviços.
Inicie sessão.
gcloud auth login
No novo separador do navegador apresentado, escolha uma conta com a função de Editor ou Proprietário no projeto do Google Cloud que criou para implementar o ESPv2 no Knative Serving.
Atualize os componentes
gcloud
instalados:gcloud components update
Defina a plataforma como
gke
e defina a predefinição do projeto paragcloud
como a que acabou de criar:gcloud config set run/platform gke
gcloud config set project ESPv2_PROJECT_ID
Substitua ESPv2_PROJECT_ID pelo ID do projeto que criou.
Defina a zona pretendida para o novo cluster. Pode usar qualquer zona onde o GKE seja suportado, por exemplo:
gcloud config set compute/zone ZONE
Substitua ZONE pela sua zona. Por exemplo, use
us-central1-a
. Pode usar qualquer zona suportada pelo GKE.Ative as seguintes APIs para o projeto, que são necessárias para criar um cluster, criar e publicar um contentor no Artifact Registry:
gcloud services enable container.googleapis.com artifactregistry.googleapis.com cloudbuild.googleapis.com
Configurar a linha de comandos gcloud
Para configurar a CLI gcloud para o Knative Serving para Anthos:
Criar um cluster do GKE com o Knative Serving ativado
Para criar um cluster e ativá-lo para publicação do Knative no Google Cloud:
Crie um novo cluster com o comando:
gcloud container clusters create CLUSTER_NAME \ --addons=HttpLoadBalancing,CloudRun \ --machine-type=n1-standard-4 \ --num-nodes=3
Substitua CLUSTER_NAME pelo nome que quer dar ao cluster.
Embora estas instruções não ativem a capacidade de escala automática de clusters para redimensionar clusters em função da procura, o Knative Serving no Google Cloud dimensiona automaticamente as instâncias no cluster.
Aguarde pela conclusão da criação do cluster. Durante o processo de criação, deve ver mensagens semelhantes às seguintes:
Creating cluster CLUSTER_NAME...done. Created [https://container.googleapis.com/v1/projects/ESPv2_PROJECT_ID/zones/ZONE/clusters/CLUSTER_NAME].
A saída também mostra a versão do cluster na coluna
NODE_VERSION
da saída. Por exemplo,1.15.11-gke.1
ou1.14.10-gke.27
. Tome nota da versão do cluster para utilização posterior neste documento.Defina os valores predefinidos
gcloud
para usar o novo cluster e a localização do cluster, para evitar ter de os especificar quando usar a CLI gcloud:gcloud config set run/cluster CLUSTER_NAME
gcloud config set run/cluster_location ZONE
Use o seguinte comando para ver detalhes sobre o novo cluster:
gcloud container clusters describe CLUSTER_NAME
Use o seguinte comando para obter as credenciais do seu cluster:
gcloud container clusters get-credentials CLUSTER_NAME
Implementar um serviço do Cloud Run gRPC de exemplo
Para implementar o contentor de exemplo do Cloud Run for Anthos "grpc-bookstore" no cluster que acabou de criar:
Siga os passos no guia de início rápido do gRPC Python para instalar o gRPC e as ferramentas gRPC.
Este exemplo de servidor gRPC contém uma imagem Docker pré-criada para o "serviço de livraria" Python:
gcr.io/endpointsv2/python-grpc-bookstore-server:2
. Use o seguinte comando para implementar "grpc-bookstore" no seu cluster:gcloud run deploy GRPC_SERVICE \ --image=gcr.io/endpointsv2/python-grpc-bookstore-server:2 \ --platform=gke \ --connectivity=internal \ --use-http2
Tenha em atenção que especifica isto como um serviço interno para que o serviço não seja acessível externamente.
Substitua GRPC_SERVICE pelo nome que quer para o seu serviço. Por exemplo:
gcloud run deploy grpc-bookstore \ --image=gcr.io/endpointsv2/python-grpc-bookstore-server:2 \ --platform=gke \ --connectivity=internal \ --use-http2
Quando terminar, é apresentada a seguinte mensagem:
Service [grpc-bookstore] revision [grpc-bookstore-00001-nuk] has been deployed and is serving 100 percent of traffic at http://grpc-bookstore.default.svc.cluster.local
Quando cria um serviço interno, o GKE cria um nome DNS (
grpc-bookstore.default.svc.cluster.local
neste exemplo) que só pode ser resolvido para pedidos originados no próprio cluster e não para pedidos externos. Não pode aceder a este DNS externamente a partir do cluster. Consulte os serviços do Cloud Run para mais informações.Para verificar se o seu serviço está a funcionar corretamente, implemente um pod com a mesma imagem do Docker no seu cluster. A imagem contém o código do cliente gRPC para "grpc-bookstore" que pode usar para testar o serviço interno.
Use o seguinte comando
kubectl
para implementar um pod no mesmo cluster que implementou anteriormente:kubectl run grpc --generator=run-pod/v1 \ --image=gcr.io/endpointsv2/python-grpc-bookstore-server:2
Esta imagem contém o script
bookstore_client.py
que pode usar para fazer pedidos de clientes a partir do cluster.Nota: para versões mais recentes do
kubectl
, o comando pode emitir o seguinte aviso:Flag --generator has been deprecated, has no effect and will be removed in the future".
Pode ignorar esse aviso.
Obtenha o nome do pod "grpc-bookstore" criado no cluster quando implementou a imagem do Docker no passo anterior:
kubectl get pods
Deverá ver um resultado no formato:
NAME READY STATUS RESTARTS AGE grpc 1/1 Running 0 23h
Onde
grp
é o nome do pod "grpc-bookstore". Certifique-se de que o Estado do pod é Em execução antes de continuar.Use o seguinte comando para fazer um pedido de cliente ao serviço "grpc-bookstore":
kubectl exec grpc -ti -- python3 bookstore_client.py \ --host grpc-bookstore.default.svc.cluster.local --port=80
Este comando executa o script
bookstore_client.py
internamente no cluster para fazer um pedido gRPC ao serviço "grpc-bookstore" no nome do anfitriãogrpc-bookstore.default.svc.cluster.local
.Se tudo estiver a funcionar corretamente, deve ver uma resposta no seguinte formato:
ListShelves: shelves { id: 1 theme: "Fiction" } shelves { id: 2 theme: "Fantasy" }
Configurar pontos finais
Tem de ter uma especificação da API gRPC que descreva a superfície do seu serviço de back-end e quaisquer requisitos de autenticação.
Acerca da definição do campo de nome da especificação da API gRPC
No campo name
da especificação da API gRPC, especifica o nome do serviço Endpoints usado para aceder ao seu serviço Knative Serving. O nome do serviço Endpoints está no formato de um nome de domínio:
API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog
Uma vez que o nome do serviço Endpoints corresponde a um nome de domínio, o nome tem de seguir estas regras:
- Tem de conter apenas letras minúsculas, números, pontos finais ou travessões.
- Não pode começar com um traço.
- Não pode conter um sublinhado.
Por exemplo:
grpc-boostore-api.endpoints.ESPv2_PROJECT_ID.cloud.goog
Criar a especificação da API gRPC
O exemplo bookstore-grpc contém os ficheiros que tem de copiar localmente e configurar.
Crie um novo diretório para a especificação da API gRPC, como
my-anthos-grpc
. Em seguida, use o comando cd para aceder a esse diretório.Clone o repositório git onde o código do cliente gRPC está alojado no seu novo diretório:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Altere o diretório de trabalho:
cd python-docs-samples/endpoints/bookstore-grpc/
Tenha em atenção que este diretório contém o ficheiro bookstore.proto. Este ficheiro define a API do serviço Bookstore.
Crie um ficheiro de descritor protobuf autónomo a partir do ficheiro
.proto
do seu serviço:Crie o diretório
generated_pb2
no seu diretório de trabalho.Crie o ficheiro de descritor,
api_descriptor.pb
, usando o compilador de buffers de protocoloprotoc
. Execute o seguinte comando no diretório que contémbookstore.proto
:python3 -m grpc_tools.protoc \ --include_imports \ --include_source_info \ --proto_path=. \ --descriptor_set_out=api_descriptor.pb \ --python_out=generated_pb2 \ --grpc_python_out=generated_pb2 \ bookstore.proto
No comando anterior,
--proto_path
está definido como o diretório de trabalho atual. No seu ambiente de compilação gRPC, se usar um diretório diferente para os ficheiros de entrada.proto
, altere--proto_path
para que o compilador pesquise o diretório onde guardoubookstore.proto
.Modifique o ficheiro
api_config_anthos.yaml
no seu diretório de trabalho atual (o mesmo diretório que contémbookstore.proto
) para adicionar o seguinte conteúdo ao ficheiro:type: google.api.Service config_version: 3 # # Name of the service configuration. # name: API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog # # API title to appear in the user interface (Google Cloud console). # title: Bookstore gRPC API In Cloud Run Anthors apis: - name: endpoints.examples.bookstore.Bookstore # # Create a DNS record to map your service name to IP address # endpoints: - name: API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog target: IP_ADDRESS # # Specify the backend address to route to # backend: rules: - selector: "*" address: grpc://GRPC_SERVICE.default.svc.cluster.local disable_auth: true # # API usage restrictions. # usage: rules: # ListShelves methods can be called without an API Key. - selector: endpoints.examples.bookstore.Bookstore.ListShelves allow_unregistered_calls: true
O recuo é importante para o formato YAML.
No campo
name
, especifique o nome do domínio da API Cloud Endpoints usada para aceder ao seu serviço Knative serving, no formato:API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog
Por exemplo:
grpc-bookstore-api.endpoints.ESPv2_PROJECT_ID.cloud.goog
A secção
endpoints
regista uma entrada DNS para o seu serviço Endpoints no domíniocloud.goog
, no formato:endpoints: - name: API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog target: IP_ADDRESS
O IP_ADDRESS é o IP do serviço
istio-ingress
para o seu cluster. Para determinar este endereço IP:Aceda à página do Google Kubernetes Engine na Google Cloud consola:
Clique em Serviços e entrada no painel de navegação do lado esquerdo para apresentar uma lista de serviços.
Se a versão do cluster for
1.15.3-gke.19
ou superior,1.14.3-gke.12
ou superior, ou1.13.10-gke.8
ou superior, desloque a página para baixo até ao serviçoistio-ingress
. Para todas as outras versões do cluster, desloque a página para baixo até ao serviçoistio-ingressgateway
.Copie o endereço IP externo apresentado junto ao equilibrador de carga, sem a definição da porta, se existir. Por exemplo, se o IP for
XX.XXX.XX.XXX:15020
, omita o:15020
. Ignore os outros endereços IP apresentados.
O campo
address
na secçãobackend
especifica o nome DNS interno do serviço "grpc-bookstore" do Cloud Run com o esquema protogrpc://
e desativa a autenticação para este serviço:address: grpc://GRPC_SERVICE.default.svc.cluster.local disable_auth: true
Por exemplo:
address: grpc://grpc-bookstore.default.svc.cluster.local disable_auth: true
Isto é necessário porque a chamada do ESPv2 para o serviço Knative serving é feita como uma chamada interna a partir do cluster e, por isso, a autenticação não é necessária.
Tome nota do valor da propriedade
title
no ficheiroapi_config_authos.yaml
:title: Bookstore gRPC API In Cloud Run Anthos
O valor da propriedade
title
torna-se o nome do serviço Endpoints depois de implementar a configuração.Guarde o documento da API gRPC.
Para obter informações sobre os campos no documento OpenAPI que o Endpoints requer, consulte o artigo Configurar o Endpoints.
Implementar a configuração dos pontos finais
Para implementar a configuração do Endpoints, use o comando gcloud endpoints services deploy. Este comando usa a gestão de serviços para criar um serviço gerido.
Para implementar a configuração dos Endpoints:
Certifique-se de que está no diretório que contém o seu documento gRPC.
Carregue a configuração e crie um serviço gerido.
gcloud endpoints services deploy api_descriptor.pb api_config_anthos.yaml \ --project ESPv2_PROJECT_ID
Esta ação cria um novo serviço de Endpoints com o nome que especificou no campo
name
do ficheiroapi_config_anthos.yaml
. O serviço Endpoints está configurado de acordo com o seu documento OpenAPI.À medida que cria e configura o serviço Endpoints, o Service Management envia informações para o terminal. Quando a implementação estiver concluída, é apresentada uma mensagem semelhante à seguinte:
Service Configuration [CONFIG_ID] uploaded for service [API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog]
CONFIG_ID é o ID de configuração do serviço Endpoints exclusivo criado pela implementação. Por exemplo:
Service Configuration [2019-02-01r0] uploaded for service [grpc-bookstore-api.endpoints.ESPv2_PROJECT_ID.cloud.goog]
O ID de configuração do serviço consiste numa indicação de data/hora seguida de um número de revisão. Se implementar o
api_config_anthos.yaml
novamente no mesmo dia, o número de revisão é incrementado no ID de configuração do serviço. Pode ver a configuração do serviço e o histórico de implementação na página Endpoints > Services na Google Cloud consola.Se receber uma mensagem de erro, consulte o artigo Resolução de problemas da implementação da configuração dos Endpoints.
A verificar os serviços necessários
No mínimo, os pontos finais e o ESP requerem a ativação dos seguintes serviços Google:Nome | Título |
---|---|
servicemanagement.googleapis.com |
Service Management API |
servicecontrol.googleapis.com |
Service Control API |
Na maioria dos casos, o comando gcloud endpoints services deploy
ativa estes serviços obrigatórios. No entanto, o comando gcloud
é concluído com êxito, mas não ativa os serviços necessários nas seguintes circunstâncias:
Se usou uma aplicação de terceiros, como o Terraform, e não incluiu estes serviços.
Implementou a configuração do Endpoints numGoogle Cloud projeto existente no qual estes serviços foram explicitamente desativados.
Use o seguinte comando para confirmar que os serviços necessários estão ativados:
gcloud services list
Se não vir os serviços necessários listados, ative-os:
gcloud services enable servicemanagement.googleapis.com
gcloud services enable servicecontrol.googleapis.com
Ative também o serviço Endpoints:
gcloud services enable ENDPOINTS_SERVICE_NAME
Para determinar o ENDPOINTS_SERVICE_NAME, pode:
Após implementar a configuração do Endpoints, aceda à página Endpoints na Cloud Console. A lista de ENDPOINTS_SERVICE_NAME possíveis é apresentada na coluna Nome do serviço.
Para a OpenAPI, o ENDPOINTS_SERVICE_NAME é o que especificou no campo
host
da sua especificação OpenAPI. Para o gRPC, o ENDPOINTS_SERVICE_NAME é o que especificou no camponame
da sua configuração de pontos finais gRPC.
Para mais informações sobre os comandos gcloud
, consulte os
serviços gcloud
.
Criar uma nova imagem de apresentação do Knative ESPv2
Crie a configuração do serviço Endpoints numa nova imagem Docker do ESPv2. Depois de criar esta imagem, pode implementá-la no seu cluster.
Para criar a configuração do serviço numa nova imagem Docker do ESPv2:
Transfira este script para a sua máquina local onde a CLI gcloud está instalada e execute-o da seguinte forma:
chmod +x gcloud_build_image
./gcloud_build_image -s API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog \ -c CONFIG_ID -p ESPv2_PROJECT_ID
O script usa o comando
gcloud
para transferir a configuração do serviço, criar a configuração do serviço numa nova imagem do ESPv2 e carregar a nova imagem para o registo de contentores do seu projeto. O script usa automaticamente a versão mais recente do ESPv2, indicada por ESPv2_VERSION no nome da imagem de saída. A imagem de saída é carregada para:gcr.io/ESPv2_PROJECT_ID/endpoints-runtime-serverless:ESPv2_VERSION-API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog-CONFIG_ID
Implementar a imagem de publicação do ESPv2 Knative
Implemente a imagem do serviço de publicação do ESPv2 Knative no seu cluster:
Implemente o serviço de publicação Knative do ESPv2 com a nova imagem:
gcloud run deploy ESPv2_SERVICE_NAME \ --image="gcr.io/ESPv2_PROJECT_ID/endpoints-runtime-serverless:API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog-CONFIG_ID" \ --platform gke \ --use-http2 \ --project=ESPv2_PROJECT_ID
Para ESPv2_PROJECT_ID, especifique o nome que quer usar para o serviço ESPv2. Neste exemplo, defina ESPv2_SERVICE_NAME como
ESPv2
.Se quiser configurar os Endpoints para usar opções de arranque do ESPv2 adicionais, como ativar o CORS, pode transmitir os argumentos na variável de ambiente
ESPv2_ARGS
:gcloud run deploy ESPv2_SERVICE_NAME \ --image="gcr.io/ESPv2_PROJECT_ID/endpoints-runtime-serverless:API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog-CONFIG_ID" \ --set-env-vars=ESPv2_ARGS=--cors_preset=basic \ --platform gke --use-http2 \ --project ESPv2_PROJECT_ID
Para mais informações e exemplos sobre a definição da variável de ambiente ESPv2_ARGS, incluindo a lista de opções disponíveis e informações sobre como especificar várias opções, consulte o artigo Flags do proxy de serviço extensível V2.
Criar um mapeamento de domínio para o serviço de publicação do Knative ESPv2
Para poder omitir o cabeçalho host
quando fizer um pedido, adicione um mapeamento de domínio para o serviço ESPv2:
Selecione Gerir domínios personalizados.
Selecione Adicionar mapeamento.
No menu pendente, selecione Adicionar mapeamento de domínio de serviço.
No campo Selecionar um serviço para mapear do pop-up Adicionar mapeamento, selecione o seu serviço ESPv2.
No campo Introduza o nome do domínio, especifique o nome do domínio que quer usar para aceder ao seu serviço Knative serving através dos Endpoints. Por exemplo, especifique:
API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog
Em que API_NAME é o nome da sua API Endpoints. Para este exemplo, pode usar "hello-api":
grpc-bookstore-api.endpoints.ESPv2_PROJECT_ID.cloud.goog
Clique em Continuar. É apresentado um resumo do mapeamento.
Selecione Concluído para guardar o mapeamento.
Enviar pedidos para a API
Para enviar pedidos para a API de exemplo, pode usar um cliente gRPC de exemplo escrito em Python.
Certifique-se de que está no diretório que contém os seus documentos gRPC, como
api_config_anthos.yaml
.Instalar dependências:
pip3 install virtualenv
virtualenv env
source env/bin/activate
pip3 install -r requirements.txt
Envie um pedido para a API de exemplo:
python3 bookstore_client.py --host API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog --port 80
Por exemplo:
python3 bookstore_client.py --host grpc-bookstore-api.endpoints.ESPv2_PROJECT_ID.cloud.goog --port 80
Se tudo estiver a funcionar corretamente, deve ver uma resposta no seguinte formato:
ListShelves: shelves { id: 1 theme: "Fiction" } shelves { id: 2 theme: "Fantasy" }
Consulte os gráficos de atividade da sua API na página Endpoints > Serviços.
Aceda à página Serviços de pontos finais
Pode demorar alguns momentos até que o pedido se reflita nos gráficos.
Consulte os registos de pedidos da sua API na página do Explorador de registos.
Se não receber uma resposta bem-sucedida, consulte o artigo Resolução de problemas de erros de resposta.
Acabou de implementar e testar uma API no Endpoints!
Configurar a API Endpoints para usar HTTPS
O suporte de TLS automático está desativado por predefinição para o Knative Serving no Google Cloud. Por conseguinte, neste exemplo, quando acede à API Endpoints através do ESPv2, faz a chamada através de HTTP.
Pode configurar o ESPv2 para suportar pedidos através de HTTPS. Tenha em atenção que configura o suporte de HTTPS no ESPv2, o serviço externo, e não em "hello", o serviço de back-end interno.
Para suportar HTTPS com o ESPv2, tem de:
Ter um domínio. Se não tiver um domínio, pode obtê-lo na Google ou noutro fornecedor de domínios.
Criou um mapeamento de domínio para o seu serviço ESPv2 e atualizou o registo DNS em conformidade, seguindo as instruções na página de mapeamento de domínios.
Se obteve o seu domínio a partir do Google Domains, use-o como servidor DNS. Caso contrário, use o Cloud DNS ou um servidor DNS à sua escolha. A utilização de um domínio do Google Domains é a opção mais fácil.
Na especificação OpenAPI dos Endpoints:
Defina o campo
name
para fazer referência ao seu domínio em vez de a*.cloud.goog
.Remova a etiqueta
endpoints
e as respetivas duas propriedades secundárias.
Para ver instruções completas e um tutorial, consulte o artigo Ativar HTTPS e certificados TLS automáticos.
Acompanhamento da atividade da API
Veja os gráficos de atividade da sua API na página Endpoints > Service na Google Cloud consola.
Veja gráficos de atividade de pontos finais
Pode demorar alguns momentos até que o pedido se reflita nos gráficos.
Consulte os registos de pedidos da sua API na página do explorador de registos.
Limpar
Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.
Consulte o artigo Eliminar uma API e instâncias de API para obter informações sobre como parar os serviços usados por este tutorial.