Endpoints-Option auswählen

Wenn Sie Ihre 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-Laufzeiten
App Engine-
Standardumgebung der Generation 2
Flexible App Engine-
Umgebung
Cloud Functions
Cloud Run
Cloud Run for Anthos
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 Functions 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.

Auf der Seite Endpunkte-Dienste in der Google Cloud Console finden Sie Messwerte für Ihre API und Links zu Google Cloud-Beobachtbarkeitslogs und -Traces.

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 in App Engine oder Cloud Functions nicht unterstützt

gRPC ist ein RPC-Framework (Remote Procedure Call), das 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 Functions 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. In den gRPC-FAQ finden Sie die aktuellste 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 die API mit jedem öffentlich verfügbaren REST-Framework wie Django oder Jersey implementieren. 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 der API in Proto-Dateien, wobei RPC-Methodenparameter und -Rückgabetypen als Protokollpuffermeldungen angegeben werden. Wenn Sie mit gRPC nicht vertraut sind, finden Sie weitere Informationen unter What is gRPC? in der Dokumentation zu gRPC.

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 für 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.

Nächste Schritte