API-Verwaltung entfernen

Wenn Sie Ihrer Anwendung die API-Verwaltung auf Google Cloud hinzugefügt haben und anschließend entscheiden, dass Sie die API-Verwaltungsfeatures nicht verwenden möchten, können Sie Cloud Endpoints Frameworks so konfigurieren, dass Ihre API nicht mehr verwaltet wird.

Auch wenn Sie die API-Verwaltung entfernen, wird Ihre API weiterhin bereitgestellt. Wenn Sie die Bereitstellung Ihrer API beenden möchten, können Sie die Anwendung in der Google Cloud Console auf der Seite App Engine-Einstellungen deaktivieren oder das Google Cloud-Projekt löschen. Weitere Informationen finden Sie unter Anwendung deaktivieren und Projekt beenden.

So entfernen Sie die API-Verwaltung:

  1. Sichern Sie die Dateien web.xml und appengine-web.xml des API-Projekts.

  2. Entfernen Sie in der Datei web.xml Ihres API-Projekts Folgendes:

    • Den Filter endpoints-api-configuration.
    • Den Filter endpoints-api-controller.
    • Die Filterzuordnung endpoints-api-configuration.
    • Die Filterzuordnung endpoints-api-controller.

    Nachdem Sie die Filter und Filterzuordnungen gelöscht haben, sollte web.xml ungefähr so aussehen:

    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
        <!-- Wrap the backend with Endpoints Frameworks v2. -->
        <servlet>
            <servlet-name>EndpointsServlet</servlet-name>
            <servlet-class>com.google.api.server.spi.EndpointsServlet</servlet-class>
            <init-param>
                <param-name>services</param-name>
                <param-value>com.example.skeleton.MyApi</param-value>
            </init-param>
        </servlet>
        <!-- Route API method requests to the backend. -->
        <servlet-mapping>
            <servlet-name>EndpointsServlet</servlet-name>
            <url-pattern>/_ah/api/*</url-pattern>
        </servlet-mapping>
    </web-app>
  3. Entfernen Sie in der Datei appengine-web.xml die Zeile, in der die Umgebungsvariable ENDPOINTS_SERVICE_NAME definiert ist. Wenn Sie außer ENDPOINTS_SERVICE_NAME keine andere Umgebungsvariable definiert haben, entfernen Sie den gesamten Abschnitt env-variables.

  4. Bereinigen Sie Ihr Projekt und erstellen Sie dann die API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  5. Stellen Sie die Anwendung wieder bereit:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

Wenn Sie die Anwendung wieder bereitgestellt haben, beendet Cloud Endpoints Frameworks die Verwaltung Ihrer API.

Entfernung der API-Verwaltung überprüfen

So prüfen Sie, ob die API von Endpoints Frameworks nicht mehr verwaltet wird:

  1. Rufen Sie in der Google Cloud Console die Seite Endpunkte > Dienste auf.

    Endpoints-Dienste aufrufen

  2. Notieren Sie sich die Anzahl der Anfragen an eine der Methoden in der API.

  3. Klicken Sie auf den View logs-Link für die Methode.

  4. Notieren Sie sich im Log Produced API das Datum und die Uhrzeit des letzten Logeintrags.

  5. Senden Sie einige Anfragen an die Methode in Ihrer API.

  6. Rufen Sie in der Google Cloud Console die Seite Endpunkte > Dienste auf.

    Endpoints-Dienste aufrufen

    Der Anfragezähler für die Methode wird nicht aktualisiert.

  7. Klicken Sie auf den View logs-Link für die Methode.

    Das Log Produced API enthält keine Einträge für die Anfragen, die Sie gesendet haben.

Abhängigkeiten in der Build-Konfiguration entfernen

Es kann sinnvoll sein, Abhängigkeiten in der Build-Konfiguration zu entfernen, auch wenn es eigentlich nicht erforderlich ist.

So entfernen Sie Abhängigkeiten in der Build-Konfiguration:

  1. Sichern Sie die Datei pom.xml oder die Datei build.gradle.

  2. Entfernen Sie die folgenden Abhängigkeiten:

    • endpoints-management-control-appengine
    • endpoints-management-control-appengine-all
    • endpoints-framework-auth
  3. Bereinigen Sie Ihr Projekt und erstellen Sie dann die API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  4. Stellen Sie die Anwendung wieder bereit:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

  5. Testen Sie die API, um überprüfen, ob sie wie erwartet funktioniert.

Verwalteten Dienst löschen

Endpoints Frameworks verwaltet Ihre API mit Service Management von Google. Wenn Sie das OpenAPI-Dokument mit dem Befehl gcloud endpoints services deploy bereitgestellt haben, wurde mithilfe von Service Management ein verwalteter Dienst für die API erstellt. Wenn Sie die Daten auf der Seite Endpunkte > Dienste und im Log Produzierte API auf der Seite Loganzeige nicht benötigen, können Sie den verwalteten Dienst für Ihre API löschen. Dadurch werden die Daten aus der Google Cloud Console entfernt.

So löschen Sie den verwalteten Dienst:

  1. Prüfen Sie, ob die gcloud CLI (gcloud) berechtigt ist, auf Ihre Daten und Dienste in Google Cloud zuzugreifen:

    gcloud auth login
    
  2. Geben Sie Folgendes ein, um sich die Projekt-IDs für Ihre Google Cloud-Projekte anzeigen zu lassen:

    gcloud projects list
    
  3. Verwenden Sie die entsprechende Projekt-ID aus dem vorherigen Schritt, um das Google Cloud-Standardprojekt auf das Projekt festzulegen, in dem sich Ihre Anwendung befindet:

    gcloud config set project [YOUR_PROJECT_ID]
    
  4. Ermitteln Sie den Namen aller verwalteten Dienste in Ihrem Google Cloud-Projekt:

    gcloud endpoints services list
    
  5. Löschen Sie den Dienst aus Service Management. Ersetzen Sie dabei SERVICE_NAME durch den Namen des Dienstes, den Sie entfernen möchten:

    gcloud endpoints services delete SERVICE_NAME
    

    Der verwaltete Dienst wird bei Ausführung von gcloud endpoints services delete nicht sofort gelöscht. Service Management deaktiviert den verwalteten Dienst 30 Tage lang, sodass Sie ihn bei Bedarf wiederherstellen können. Nach 30 Tagen löscht Service Management den verwalteten Dienst endgültig.

Nächste Schritte