Frameworks do Cloud Endpoints

Os Cloud Endpoints Frameworks são uma estrutura Web para os ambientes de execução padrão do Python 2.7 e Java 8 do App Engine. Os frameworks do Cloud Endpoints fornecem as ferramentas e as bibliotecas que lhe permitem gerar APIs REST e bibliotecas de clientes para a sua aplicação.

Tal como outras estruturas Web, o Endpoints Frameworks processa os detalhes de comunicação de baixo nível dos pedidos e das respostas HTTP para a sua aplicação. Quando um cliente envia um pedido para a sua API, o Endpoints Frameworks encaminha o URL do pedido para a função ou o método no seu código que processa o pedido. O Endpoints Frameworks converte o valor de retorno em JSON e envia a resposta. Adiciona metadados (através de anotações em Java e decoradores em Python) ao código-fonte. Os metadados definem a superfície das APIs REST para a sua aplicação.

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 caráter @.

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 exemplo de código, os decoradores começam com o caráter @.

Com os Frameworks de Endpoints, não tem de implementar um servidor Web de terceiros (como o Apache Tomcat ou o Gunicorn) com a sua aplicação. Anota ou decora o código e implementa a aplicação como faria normalmente no ambiente padrão do App Engine.

Gestão de APIs

O proxy de serviço extensível (ESP) oferece funcionalidades de gestão de APIs para os Endpoints para OpenAPI e Endpoints para gRPC. O ESP é executado num contentor juntamente com cada instância do seu back-end.

Uma vez que o ambiente padrão do App Engine não suportava implementações com vários contentores quando as Frameworks de Endpoints estavam em desenvolvimento, as Frameworks de Endpoints não usam o ESP. Em alternativa, o Endpoints Frameworks inclui um gateway de API incorporado que oferece funcionalidades de gestão de APIs comparáveis às funcionalidades que o ESP oferece para o Endpoints para OpenAPI e o Endpoints para gRPC.

Os frameworks de endpoints intercetam todos os pedidos e realizam 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 a telemetria. Pode ver as métricas da sua API na página Serviços de pontos finais na Google Cloud consola.

Pode usar os Frameworks de Endpoints com ou sem a funcionalidade de gestão de APIs. A utilização dos frameworks do Endpoints sem a funcionalidade de gestão de APIs é oferecida sem custo financeiro. A funcionalidade de gestão de APIs é cobrada de acordo com a página de preços do Endpoints.

Limitações

  • Os Endpoints Frameworks só são suportados nos ambientes de execução padrão do App Engine Python 2.7 e Java 8.
  • O Endpoints Frameworks não suporta os ambientes de tempo de execução Node.js, PHP e Go no ambiente padrão do App Engine.
  • O Endpoints Frameworks não suporta o ambiente flexível do App Engine.
  • O Endpoints Frameworks não é compatível com funções do Cloud Run, o Compute Engine e o Google Kubernetes Engine.

O que se segue?