Cloud Endpoints Frameworks bietet API-Verwaltungsfunktionen, die mit die Funktionen, die der Extensible Service Proxy (ESP) für Cloud Endpoints bereitstellt. Endpoints Frameworks enthält ein integriert API-Gateway fängt alle Anfragen ab und führt alle erforderlichen Prüfungen durch, z. B. Authentifizierung, bevor Sie die Anfrage an das API-Back-End weiterleiten. Wenn das Back-End antwortet, erfasst und meldet Endpoints Frameworks telemetrische Messwerte. Sie können Messwerte für Ihre API auf der Seite Endpoints > Dienste in der Google Cloud Console ansehen.
In Endpoints Frameworks sind unter anderem die folgenden API-Verwaltungsfunktionen verfügbar:
Damit Ihre API von Endpoints verwaltet werden kann, müssen Sie ein OpenAPI-Dokument bereitstellen, das Ihre API mit Version 2.0 der OpenAPI-Spezifikation beschreibt. Auf dieser Seite wird beschrieben, wie Sie ein OpenAPI-Dokument generieren und bereitstellen, mit dem Endpoints Ihre API verwalten kann.
Wenn Sie keine API-Verwaltung hinzufügen, verarbeitet die API zwar weiterhin Anfragen, aber die API wird nicht auf den Endpunkten angezeigt > Seite Dienste im Menü Google Cloud Console und die Funktionen Endpunkte wie Logging, Monitoring und das Festlegen von Kontingenten verfügbar.
So fügen Sie der API Verwaltungsfunktionen hinzu:
Richten Sie Ihre Maven-Datei
pom.xml
oder Ihre Gradle-Dateibuild.gradle
wie in Konfigurieren der Build-Dateien beschrieben ein.Stellen Sie sicher, dass Sie die Google Cloud-Projekt-ID in den Build-Dateien festgelegt haben.
Maven
Suchen Sie nach
<endpoints.project.id>
und ersetzen SieYOUR_PROJECT_ID
durch Ihre Google Cloud-Projekt-ID. Beispiel:<endpoints.project.id>example-project-12345</endpoints.project.id>
Gradle
-
Suchen Sie nach
def projectId
und ersetzen SieYOUR_PROJECT_ID
durch Ihre Google Cloud-Projekt-ID. Beispiel:def projectId = 'example-project-12345'
- Achten Sie darauf, dass die Datei
build.gradle
die AufgabereplaceProjectId
enthält, mit der die Projekt-ID in den Dateienappengine-web.xml
undweb.xml
festgelegt wird.
-
Suchen Sie nach
Fügen Sie in der Datei
web.xml
Ihres API-Projekts die Servlet-Filterkonfiguration für die API-Verwaltung hinzu:Ändern Sie die Build-Konfiguration Ihres API-Projekts:
Maven
-
Fügen Sie die Abhängigkeiten der API-Verwaltung hinzu:
-
Fügen Sie das Plug-in ein, mit dem Sie Clientbibliotheken und das OpenAPI-Dokument
openapi.json
generieren können:
Gradle
-
Fügen Sie die Abhängigkeiten der API-Verwaltung hinzu:
-
Deklarieren Sie die externe Abhängigkeit, damit das Plug-in von Maven Central abgerufen wird:
-
Verwenden Sie das serverseitige Endpoints Frameworks-Plug-in, mit dem das OpenAPI-Dokument generiert wird:
-
Konfigurieren Sie den Namen Ihres Endpoints-Diensts:
-
Wenn Sie die Abhängigkeiten geändert haben, bereinigen Sie Ihr Projekt und erstellen Sie dann die API:
Maven
mvn clean mvn package
Gradle
gradle clean gradle build
Generieren Sie das OpenAPI-Dokument:
openapi.json
Maven
mvn endpoints-framework:openApiDocs
Gradle
gradle endpointsOpenApiDocs
Stellen Sie das OpenAPI-Dokument bereit:
gcloud endpoints services deploy openapi.json
Bei der ersten Bereitstellung von
openapi.json
wird ein neuer Endpoints-Dienst mit dem NamenYOUR_PROJECT_ID.appspot.com
erstellt. Bei erfolgreichem Abschluss des Vorgangs wird eine Zeile mit der Dienstkonfigurations-ID und dem Dienstnamen angezeigt, die etwa so aussieht:Service Configuration 2017-02-13r0 uploaded for service example-project-12345.appspot.com
Im vorherigen Beispiel ist
2017-02-13r0
die Dienstkonfigurations-ID. Die Dienstkonfigurations-ID besteht aus einem Datumsstempel, gefolgt von einer Überarbeitungsnummer. Wenn Sieopenapi.json
noch einmal bereitstellen, wird die Revisionsnummer in der Dienstkonfigurations-ID erhöht.Wenn Sie sich die Dienstkonfigurations-ID noch einmal anzeigen lassen müssen, führen Sie den folgenden Befehl aus, ersetzen dabei jedoch
YOUR_PROJECT_ID
durch die Projekt-ID Ihres Google Cloud-Projekts:gcloud endpoints configs list --service=YOUR_PROJECT_ID.appspot.com
Statt ein generiertes Dokument zu verwenden, können Sie ein eigenes OpenAPI-Dokument erstellen und bereitstellen. Ersetzen Sie
openapi.json
aus dem obigen Beispiel einfach durch den Pfad zu Ihrem OpenAPI-Dokument. Weitere Informationen zum Erstellen eines OpenAPI-Dokuments finden Sie unter OpenAPI-Übersicht.Bearbeiten Sie die Datei
appengine-web.xml
, um den Wert für eine Umgebungsvariable festzulegen:Ersetzen Sie
${endpoints.project.id}
durch Ihre Google Cloud-Projekt-ID. Beispiel:<env-var name="ENDPOINTS_SERVICE_NAME" value="example-project-12345.appspot.com" />
Stellen Sie die Anwendung neu bereit.
Maven
mvn appengine:deploy
Gradle
gradle appengineDeploy
Testen Sie die API mit einigen Anfragen.
Öffnen Sie zum Aufrufen der API-Messwerte in der Google Cloud Console für Ihr Projekt die Seite Endpoints > Dienste: