Cloud Endpoints Frameworks bietet API-Verwaltungsfunktionen, die mit den vom Extensible Service Proxy (ESP) für Cloud Endpoints bereitgestellten Funktionen vergleichbar sind. In Endpoints Frameworks ist ein API-Gateway eingebunden, das alle Anfragen abfängt und soweit notwendig überprüft, z. B. durch Authentifizierung, bevor sie an das API-Back-End weitergeleitet werden. 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 derGoogle 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 einrichten, liefert Ihre API weiterhin Anfragen, erscheint aber nicht auf der Seite Endpoints > Dienste in derGoogle Cloud -Konsole und die von Endpoints bereitgestellten Funktionen wie Logging, Monitoring und das Festlegen von Kontingenten sind nicht verfügbar.
So fügen Sie der API Verwaltungsfunktionen hinzu:
- Richten Sie Ihre Maven-Datei - pom.xmloder Ihre Gradle-Datei- build.gradlewie 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 Sie- YOUR_PROJECT_IDdurch Ihre Google Cloud Projekt-ID. Beispiel:- <endpoints.project.id>example-project-12345</endpoints.project.id>- Gradle- 
        Suchen Sie nach def projectIdund ersetzen SieYOUR_PROJECT_IDdurch Ihre Google Cloud Projekt-ID. Beispiel:def projectId = 'example-project-12345'
- Achten Sie darauf, dass die Datei build.gradledie AufgabereplaceProjectIdenthält, mit der die Projekt-ID in den Dateienappengine-web.xmlundweb.xmlfestgelegt wird.
 
- 
        Suchen Sie nach 
- Fügen Sie in der Datei - web.xmlIhres 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.jsongenerieren 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.jsonwird ein neuer Endpoints-Dienst mit dem Namen- YOUR_PROJECT_ID.appspot.comerstellt. 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-13r0die Dienstkonfigurations-ID. Die Dienstkonfigurations-ID besteht aus einem Datumsstempel, gefolgt von einer Überarbeitungsnummer. Wenn Sie- openapi.jsonnoch einmal bereitstellen, wird die Revisionsnummer in der Dienstkonfigurations-ID erhöht.- Wenn Sie die Dienstkonfigurations-ID noch einmal anzeigen müssen, führen Sie den folgenden Befehl aus und ersetzen Sie dabei - YOUR_PROJECT_IDdurch 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.jsonaus 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: