Os frameworks do Cloud Endpoints oferecem funcionalidades de gestão de APIs comparáveis às funcionalidades que o proxy de serviço extensível (ESP) oferece para o Cloud Endpoints. Os Endpoints Frameworks incluem um gateway de API integrado que interceta todos os pedidos e executa todas as verificações necessárias, como a autenticação, antes de encaminhar o pedido para o back-end da API. Quando o back-end responde, o Endpoints Frameworks recolhe e comunica telemetria. Pode ver as métricas da sua API na página Endpoints > Serviços na Google Cloud consola.
As funcionalidades de gestão de APIs disponíveis nos Frameworks de Endpoints incluem:
Para que a sua API seja gerida pelos Endpoints, tem de implementar um documento OpenAPI que descreva a sua API através da versão 2.0 da especificação OpenAPI. Esta página descreve como gerar e implementar um documento OpenAPI que permite que os Endpoints geram a sua API.
Se não adicionar a gestão de APIs, a sua API continua a processar pedidos, mas não aparece na página Endpoints > Serviços naGoogle Cloud consola, e a funcionalidade fornecida pelos Endpoints, como o registo, a monitorização e a definição de quotas, não está disponível.
Instalar e configurar o software necessário
Se ainda não o fez, instale e configure a CLI Google Cloud para Python e adicione a biblioteca Python dos Frameworks do Endpoints ao diretório do projeto da API para que seja carregada com o código da API após a implementação
Instale e configure a CLI gcloud para Python
- Instale e inicialize a CLI gcloud: 
- Instale o componente - gcloudque inclui a extensão do App Engine para Python:- gcloud components install app-engine-python
- Atualize a CLI gcloud: - gcloud components update
- Certifique-se de que a CLI gcloud está autorizada a aceder aos seus dados e serviços em Google Cloud: - gcloud auth login- É aberto um novo separador do navegador e é-lhe pedido que escolha uma conta. 
- Defina o projeto predefinido para o ID do seu projeto. Substitua - YOUR_PROJECT_IDpelo ID do seu Google Cloud projeto.- gcloud config set project YOUR_PROJECT_ID 
- Para o Linux, defina a variável de ambiente - ENDPOINTS_GAE_SDKpara o caminho da pasta do SDK do App Engine:- PATH_TO_CLOUD_SDK/platform/google_appengine - Substitua - PATH_TO_CLOUD_SDKpela saída do seguinte comando:- gcloud info --format="value(installation.sdk_root)"
Adicione a biblioteca Python do Endpoints Frameworks
- Certifique-se de que consegue compilar extensões C para Python. - Windows: é necessário o Microsoft Visual C++ 9.0 ou superior. Pode transferir o compilador Microsoft Visual C++ para Python 2.7 a partir do centro de transferências da Microsoft 
- Outros sistemas operativos: consoante o seu sistema operativo, pode ter de instalar ferramentas de compilação (por vezes, num pacote denominado - build-essential) e/ou os cabeçalhos de desenvolvimento do Python (por vezes, num pacote denominado- python-dev).
 
- Altere o diretório para o diretório principal da API. 
- Crie um subdiretório - /libno diretório principal da API:- mkdir lib
- Instale a biblioteca: - pip install -t lib google-endpoints --ignore-installed
Gere o documento OpenAPI
A partir do diretório principal da API, gere um documento OpenAPI através das ferramentas da framework. Por exemplo:
Classe única
No comando seguinte, substitua YOUR_PROJECT_ID pelo ID do seu projeto. Google Cloud 
python lib/endpoints/endpointscfg.py get_openapi_spec main.EchoApi \
    --hostname YOUR_PROJECT_ID.appspot.com
Ignore os avisos apresentados.
Várias aulas
Pode listar várias classes na linha de comandos. Os pontos finais geram um documento OpenAPI para cada combinação de nome/versão da API.
Se quiser implementar várias classes de API com nomes de API diferentes como parte de um único serviço, também tem de adicionar a flag --x-google-api-name.
A ativação desta flag adiciona restrições adicionais aos nomes das suas APIs. Especificamente, os nomes têm de corresponder à expressão regular [a-z][a-z0-9]{0,39}; ou seja, o nome tem de ter entre 1 e 40 carateres, que podem ser carateres alfabéticos em minúsculas ou números, exceto que o primeiro caráter não pode ser um número. Por exemplo:
No comando seguinte, substitua YOUR_PROJECT_ID
pelo ID do seu Google Cloud projeto.
python lib/endpoints/endpointscfg.py get_openapi_spec main.FooApi main.BarApi \ --hostname YOUR_PROJECT_ID.appspot.com \ --x-google-api-name
Ignore os avisos apresentados.
Os Endpoints usam o texto que especificar no argumento hostname
como o nome do serviço. Quando implementa a API no App Engine, é criada automaticamente uma entrada de DNS com um nome no formato YOUR_PROJECT_ID.appspot.com.
Implemente o documento OpenAPI
Classe única
gcloud endpoints services deploy echov1openapi.json
Várias aulas
Se tiver vários documentos OpenAPI, liste-os todos na linha de comandos. Por exemplo:
 gcloud endpoints services deploy foov1openapi.json barv1openapi.json
Na primeira vez que implementa o seu documento (ou documentos) OpenAPI, é criado um novo serviço do Endpoints com o nome YOUR_PROJECT_ID.appspot.com.
Após a conclusão com êxito, é apresentada uma linha semelhante à seguinte com o ID de configuração do serviço e o nome do serviço:
Service Configuration 2017-02-13r0 uploaded for service example-project-12345.appspot.com
No exemplo acima, 2017-02-13r0 é o ID da configuração do serviço. 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 novamente o documento OpenAPI, o número de revisão é incrementado no ID de configuração do serviço.
Se precisar de apresentar novamente o ID de configuração do serviço, execute o seguinte comando, mas substitua YOUR_PROJECT_ID pelo ID do projeto do seu projeto Google Cloud :
gcloud endpoints configs list --service=YOUR_PROJECT_ID.appspot.com
Pode criar o seu próprio documento OpenAPI e implementá-lo, em vez de usar um gerado. Basta substituir echov1openapi.json acima pelo caminho para o seu documento OpenAPI. Para mais informações sobre como escrever um documento OpenAPI, consulte a vista geral da OpenAPI.
Volte a implementar a API e teste-a
- Edite o ficheiro do seu projeto - app.yamle adicione uma secção- env_variablesda seguinte forma:- env_variables: ENDPOINTS_SERVICE_NAME: YOUR_PROJECT_ID.appspot.com ENDPOINTS_SERVICE_VERSION: YOUR_SERVICE_VERSION - Substitua - YOUR_PROJECT_IDpelo ID do seu projeto eGoogle Cloud pelo ID da configuração do serviço da secção anterior.- YOUR_SERVICE_VERSIONCom esta adição ao ficheiro- app.yaml, o Endpoints gere a sua API depois de voltar a implementar a aplicação.
- Volte a implementar a sua aplicação: - gcloud app deploy
- Aguarde alguns momentos até que a implementação seja bem-sucedida, ignorando as mensagens de aviso. Quando a implementação estiver concluída, é apresentada uma mensagem semelhante à seguinte: - File upload done. Updating service [default]...done.
- Teste uma nova implementação bem-sucedida, por exemplo, com o comando curl: - curl --request POST \ --header "Content-Type: application/json" \ --data '{"content":"echo"}' \ https://YOUR_PROJECT_ID.appspot.com/_ah/api/echo/v1/echo?n=2- Substitua - echopelo nome da sua API.- Os resultados devem apresentar algo semelhante ao seguinte: - { "content": "echo echo" }
- Fazer alguns pedidos adicionais à sua API. 
- Para ver as métricas da API, abra a página Endpoints > Serviços na Google Cloud consola do seu projeto: