Cloud Endpoints Frameworks

O Cloud Endpoints Frameworks é um framework da Web (em inglês) para os ambientes de execução Python 2.7 e Java 8 no ambiente padrão do App Engine. Ele oferece as ferramentas e bibliotecas para você gerar APIs REST e bibliotecas de cliente do aplicativo.

Como outros frameworks da Web, o Endpoints Frameworks processa os detalhes de comunicação de baixo nível das solicitações e respostas HTTP do aplicativo. Quando um cliente envia uma solicitação para sua API, o Endpoints Frameworks encaminha o URL da solicitação para a função ou método em seu código que processa a solicitação. O Endpoints Frameworks converte o valor de retorno em JSON e envia a resposta. Adicione metadados ao código-fonte usando anotações em Java e decoradores em Python. Os metadados definem a superfície das APIs REST do aplicativo.

Java

@ApiMethod(name = "echo")
public Message echo(Message message, @Named("n") @Nullable Integer n) {
  return doEcho(message, n);
}

No código de exemplo, as anotações começam com o caractere @.

Python

@endpoints.method(
    # This method takes a ResourceContainer defined above.
    ECHO_RESOURCE,
    # This method returns an Echo message.
    EchoResponse,
    path="echo",
    http_method="POST",
    name="echo",
)
def echo(self, request):
    output_message = " ".join([request.message] * request.n)
    return EchoResponse(message=output_message)

No código de exemplo, os decoradores começam com o caractere @.

Com o Endpoints Frameworks, não é preciso implantar um servidor da Web de terceiros como o Apache Tomcat ou o Gunicorn com o aplicativo. Anote ou decore o código e implante o aplicativo da mesma maneira que você faria no ambiente padrão do App Engine.

Gerenciamento de APIs

O Extensible Service Proxy (ESP) oferece recursos de gerenciamento da API ao Endpoints para OpenAPI e gRPC. O ESP é executado em um contêiner com cada instância do back-end.

Como o ambiente padrão do App Engine não era compatível com implantações de vários contêineres quando o Endpoints Frameworks estava em desenvolvimento, o Endpoints Frameworks não usa o ESP. Em vez disso, ele inclui uma gateway de API integrada que oferece recursos de gerenciamento de API comparáveis aos recursos fornecidos pelo ESP para Endpoints para OpenAPI e Endpoints para gRPC.

O Endpoints Frameworks intercepta todas as solicitações e executa as verificações necessárias, como a autenticação, antes de encaminhar a solicitação ao back-end da API. Quando o back-end responde, o Endpoints Frameworks coleta e relata a telemetria. É possível ver as métricas da API na página Serviços do Endpoints no console do Google Cloud.

É possível usar o Endpoints Frameworks com ou sem a funcionalidade de gerenciamento da API. O uso sem esse recurso é gratuito. A funcionalidade de gerenciamento da API é cobrada de acordo com a página de preços do Endpoints.

Limitações

  • O Endpoints Frameworks é compatível apenas com os ambientes de execução Python 2.7 e Java 8 padrão do App Engine.
  • O Endpoints Frameworks não é compatível com os ambientes de execução do Node.js, PHP e Go no ambiente padrão do App Engine.
  • O Endpoints Frameworks não é compatível com o ambiente flexível do App Engine.
  • O Endpoints Frameworks não é compatível com o Cloud Functions, Compute Engine e Google Kubernetes Engine.

A seguir