Endpoints-Option auswählen

Wenn Sie die API von Cloud Endpoints verwalten lassen möchten, haben Sie abhängig davon, wo Ihre API gehostet wird und welche Art von Kommunikationsprotokoll sie verwendet, drei Optionen:

Auf dieser Seite werden die Optionen für Endpoints beschrieben, um Ihnen die Wahl der passenden Option zu erleichtern.

Computing-Option auswählen

Endpoints unterstützt verschiedene Computing-Optionen der Google Cloud, die den Backend-Code Ihrer API hosten können. Endpoints kann entweder mit Extensible Service Proxy (ESP) oder mit Extensible Service Proxy V2 (ESPv2) bereitgestellt werden, um eine API-Verwaltung bereitzustellen. Die folgende Tabelle fasst die unterstützten Computing-Optionen zusammen:

ESP für OpenAPI ESP für gRPC ESPv2 für OpenAPI ESPv2 für gRPC Endpoints Frameworks
App Engine-
Standardumgebung der Generation 1
Java 8- und Python 2.7-Laufzeit
App Engine-
Standardumgebung der Generation 2
Flexible App Engine-
Umgebung
Cloud Run-Funktionen
Cloud Run
Knative Serving
Compute Engine
GKE
Kubernetes
Andere Drittanbieter-Cloud

Vergleichen Sie unter Computing-Option auswählen die Funktionen von App Engine, GKE und Compute Engine. Wenn Sie App Engine verwenden möchten, müssen Sie sich zwischen der Standardumgebung und der flexiblen Umgebung entscheiden. Unter App Engine-Umgebung wählen finden Sie einen Vergleich der beiden Umgebungen.

Einschränkungen der Computing-Option

Endpoints für OpenAPI und Endpoints für gRPC können ESP oder ESPv2 als Proxy verwenden. Bei nicht serverlosen Plattformen wird ESP oder ESPv2 als Container vor Ihrer Anwendung oder als Sidecar-Datei mit Ihrer Anwendung bereitgestellt. Für serverlose Plattformen wie Cloud Run, Cloud Run-Funktionen und App Engine wird ESPv2 als Cloud Run-Dienst als Remote-Proxy zur Verwaltung Ihrer serverlosen Plattformanwendungen bereitgestellt.

Nachdem Sie den Backend-Code Ihrer API bereitgestellt haben, fängt ESP oder ESPv2 alle Anfragen ab und prüft sie (z. B. durch Authentifizierung), bevor die Anfrage an das API-Backend weitergeleitet wird. Wenn das Backend antwortet, sammelt und meldet ESP telemetrische Messwerte über Service Infrastructure.

Sie können Messwerte für Ihre API und Links zu Google Cloud-Beobachtbarkeit Logs und Traces auf der Seite Endpunkte-Dienste in der Google Cloud Console

Beschränkungen für die App Engine-Standardumgebung der Generation 1

Endpoints für die App Engine-Standardumgebung der Generation 1 verwendete in der Vergangenheit Endpoints-Frameworks, die nur die Laufzeitumgebung Java 8 und Python 2.7 unterstützen.

Da die App Engine-Standardumgebung in der Entwicklungsphase von Endpoints Frameworks keine Bereitstellungen für mehrere Container unterstützt hat, wird der ESP von Endpoints Frameworks nicht verwendet. Endpoints Frameworks enthält stattdessen ein integriertes API-Gateway mit API-Verwaltungsfeatures, die mit den Features vergleichbar sind, die der ESP für Endpoints für OpenAPI und Endpoints für gRPC bereitstellt.

gRPC APIs werden für App Engine- oder Cloud Run-Funktionen nicht unterstützt

gRPC ist ein RPC-Framework (Remote Procedure Call), bei dem in jeder Umgebung ausgeführt werden kann. Mit gRPC kann eine Clientanwendung Methoden in einer Serveranwendung auf einem anderen Computer direkt aufrufen, als ob sie ein lokales Objekt wäre. Eine Kernfunktion von gRPC ist das bidirektionale Streaming mit HTTP/2-basiertem Transport.

HTTP/2 wird von App Engine- und Cloud Run-Funktionen nicht unterstützt.

Unterstützte Programmiersprachen

  • Die OpenAPI-Spezifikation ist eine sprachunabhängige Spezifikation. Sie können die API in jeder Programmiersprache implementieren.
  • gRPC bietet den Protokollpufferkompilierer protoc für viele wichtige Programmiersprachen: C++, C#, Objective-C (für iOS), Dart, Go, Java (einschließlich Unterstützung für Android), Node.js, Python und Ruby. Weitere Informationen finden Sie in der FAQs zu gRPC finden Sie die aktuelle Liste.
  • Endpoints Frameworks unterstützt nur Java 8 und Python 2.7.

API beschreiben

Die Optionen von Endpoints bieten verschiedene Möglichkeiten zum Beschreiben Ihrer API.

Endpoints for OpenAPI

Die OpenAPI-Initiative ist eine branchenweite Initiative zur Standardisierung der Beschreibung von REST APIs. Endpoints unterstützt APIs, die mit Version 2.0 der OpenAPI-Spezifikation (früher Swagger-Spezifikation) beschrieben werden. Sie beschreiben die Oberfläche Ihrer API in einer JSON- oder YAML-Datei (die als OpenAPI-Dokument bezeichnet wird). Sie können Implementieren Sie Ihre API mit einem öffentlich verfügbaren REST-Framework wie Django oder Jersey. Lesen Sie die OpenAPI-Übersicht, wenn Sie mit der OpenAPI-Spezifikation nicht vertraut sind.

Weitere Informationen finden Sie unter Endpoints für OpenAPI.

Endpoints für gRPC

Mit gRPC definieren Sie die Struktur der Daten, die Sie serialisieren möchten, in einer Proto-Datei. Dies ist eine gewöhnliche Textdatei mit der Erweiterung .proto. Sie definieren auch die Oberfläche Ihrer API in Proto-Dateien, wobei RPC-Methodenparameter und -Rückgabetypen als Protokollpuffermeldungen angegeben werden. Wenn Sie mit gRPC nicht vertraut sind, lesen Sie den Abschnitt Was ist gRPC? in der gRPC-Dokumentation.

Weitere Informationen finden Sie unter Endpoints für gRPC.

Endpoints Frameworks

Endpoints Frameworks ist ein Web-Framework für die Python 2.7- und Java 8-Standardlaufzeitumgebungen von App Engine. Metadaten fügen Sie Ihrem Quellcode in Java mit Annotationen und in Python mit Decorators hinzu. Die Metadaten beschreiben die Oberfläche der REST APIs für Ihre Anwendung.

Weitere Informationen finden Sie unter Endpoints Frameworks.

Weitere Informationen