Cloud Endpoints Frameworks

Cloud Endpoints Frameworks es un marco de trabajo web para los entornos de ejecución estándar Python 2.7 y Java 8 de App Engine. Cloud Endpoints Frameworks proporciona las herramientas y bibliotecas que te permiten generar API de REST y bibliotecas cliente para tu aplicación.

Al igual que otros marcos de trabajo web, Endpoints Frameworks maneja los detalles de comunicación de nivel bajo de las solicitudes y respuestas HTTP para tu aplicación. Cuando un cliente envía una solicitud a la API, Endpoints Frameworks enruta la URL de la solicitud a la función o método del código que procesa la solicitud. Endpoints Frameworks convierte el valor de retorno en JSON y envía la respuesta. Puedes agregar metadatos a tu código fuente mediante anotaciones en Java o decoradores en Python. Los metadatos definen la superficie de las API de REST para tu aplicación.

Java

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

En el código de ejemplo, las anotaciones comienzan con el carácter @.

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)

En el código de ejemplo, los decoradores comienzan con el carácter @.

Con Endpoints Frameworks no es necesario que implementes un servidor web de terceros (como Apache Tomcat o Gunicorn) con tu aplicación. Puedes anotar o decorar el código e implementar tu aplicación como lo harías normalmente en el entorno estándar de App Engine.

Administración de API

El proxy de servicio extensible (ESP) proporciona funciones de administración de API a Endpoints para OpenAPI y Endpoints para gRPC. El ESP se ejecuta en un contenedor junto con cada instancia de tu backend.

Debido a que el entorno estándar de App Engine no admitía implementaciones de varios contenedores cuando Endpoints Frameworks estaba en desarrollo, Endpoints Frameworks no usa el ESP. En cambio, Endpoints Frameworks incluye una puerta de enlace de API integrada que proporciona funciones de administración de API que son comparables a las funciones que el ESP proporciona a Endpoints para OpenAPI y a Endpoints para gRPC.

Antes de enviar la solicitud al backend de la API, Endpoints Frameworks intercepta todas las solicitudes y realiza las verificaciones necesarias (por ejemplo, la autenticación). Cuando el backend responde, Endpoints Frameworks informa y recopila la telemetría. Puedes ver las métricas de tu API en la página Servicios de Endpoints en la consola de Google Cloud.

Puedes usar Endpoints Frameworks con o sin la funcionalidad de administración de API. El uso de Endpoints Frameworks sin la funcionalidad de administración de API se ofrece de manera gratuita. La funcionalidad de administración de API se cobra según como se indica en la página de precios de Endpoints.

Limitaciones

  • Endpoints Frameworks es compatible solo con los entornos de ejecución estándar Python 2.7 y Java 8 de App Engine.
  • Endpoints Frameworks no es compatible con los entornos de ejecución Node.js, PHP y Go del entorno estándar de App Engine.
  • Endpoints Frameworks no es compatible con el entorno flexible de App Engine.
  • Endpoints Frameworks no es compatible con las funciones de Cloud Run, Compute Engine ni Google Kubernetes Engine.

¿Qué sigue?