Rimozione della gestione delle API

Se hai aggiunto la gestione delle API alla tua applicazione su Google Cloud, e successivamente decidere di non volere le funzionalità di gestione delle API, puoi configurare Cloud Endpoints Frameworks per interrompere la gestione dell'API.

La rimozione della gestione dell'API non ne impedisce il servizio. Se vuoi per interrompere la pubblicazione dell'API, puoi disabilitare l'applicazione nella Impostazioni motore nella console Google Cloud oppure puoi eliminare il progetto Google Cloud. Per scoprire di più, consulta la sezione Disattivare un'applicazione e chiudere un progetto.

Per rimuovere la gestione delle API:

  1. Esegui il backup dei file web.xml e appengine-web.xml del progetto API.

  2. Nel file web.xml del progetto API, rimuovi quanto segue:

    • Il filtro endpoints-api-configuration.
    • Il filtro endpoints-api-controller.
    • La mappatura dei filtri endpoints-api-configuration.
    • La mappatura dei filtri endpoints-api-controller.

    Dopo aver eliminato i filtri e le mappature dei filtri, web.xml dovrebbe essere simile al seguente:

    <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. Nel file appengine-web.xml, rimuovi la riga che definisce la variabile di ambiente ENDPOINTS_SERVICE_NAME. Se ENDPOINTS_SERVICE_NAME è l'unica variabile di ambiente che hai definito, rimuovi l'intera sezioneenv-variables.

  4. Ripulisci il progetto e poi crea l'API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  5. Esegui di nuovo il deployment dell'applicazione:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

Dopo aver eseguito nuovamente il deployment dell'applicazione, Cloud Endpoints Frameworks smette di gestire l'API.

Verifica della rimozione della gestione delle API

Per verificare che Endpoints Frameworks non gestisca più la tua API:

  1. Nella console Google Cloud, vai alla pagina Endpoint > Servizi.

    Vai alla pagina dei servizi Endpoints

  2. Annota il numero di richieste a uno dei metodi dell'API.

  3. Fai clic sul link View logs relativo al metodo.

  4. Nel log Produced API, prendi nota della data e dell'ora dell'ultima voce di log.

  5. Invia alcune richieste al metodo nell'API.

  6. Nella console Google Cloud, vai alla pagina Endpoint > Servizi.

    Vai alla pagina Servizi endpoint

    Il contatore delle richieste per il metodo non viene aggiornato.

  7. Fai clic sul link View logs relativo al metodo.

    Il log Produced API non contiene voci di log per le richieste che hai inviato.

Rimozione delle dipendenze dalla configurazione della build

Sebbene non sia obbligatorio, ti consigliamo di rimuovere le dipendenze nella build configurazione.

Per rimuovere le dipendenze nella configurazione di compilazione:

  1. Esegui il backup del file pom.xml o build.gradle.

  2. Rimuovi le seguenti dipendenze:

    • endpoints-management-control-appengine
    • endpoints-management-control-appengine-all
    • endpoints-framework-auth
  3. Pulisci il progetto e quindi crea l'API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  4. Esegui di nuovo il deployment dell'applicazione:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

  5. Testa l'API per assicurarti che funzioni come previsto.

Eliminazione del servizio gestito

Endpoints Frameworks utilizza Service Management di Google per gestire l'API. Quando hai eseguito il deployment del documento OpenAPI utilizzando il comando gcloud endpoints services deploy, il comando ha utilizzato Service Management per creare un servizio gestito per la tua API. Se non hai bisogno dei dati nella pagina Endpoints > Servizi e nel log API prodotta nella pagina Visualizzatore dei log, puoi eliminare il servizio gestito per la tua API, rimuovendo i dati dalla console Google Cloud.

Per eliminare il servizio gestito:

  1. Assicurati che gcloud CLI (gcloud) sia autorizzato ad accedere al tuo di dati e servizi su Google Cloud:

    gcloud auth login
    
  2. Inserisci il codice seguente per visualizzare gli ID progetto per il tuo account Google Cloud progetti:

    gcloud projects list
    
  3. Utilizzando l'ID progetto applicabile del passaggio precedente, imposta il progetto Google Cloud predefinito su quello in cui si trova la tua applicazione:

    gcloud config set project [YOUR_PROJECT_ID]
    
  4. Ottieni il nome di tutti i servizi gestiti nel tuo progetto Google Cloud:

    gcloud endpoints services list
    
  5. Elimina il servizio da Service Management. Sostituisci SERVICE_NAME con il nome del servizio che ti interessa da rimuovere.

    gcloud endpoints services delete SERVICE_NAME
    

    L'esecuzione di gcloud endpoints services delete non elimina immediatamente il servizio gestito. Service Management disattiva il servizio gestito per 30 giorni, il che ti consente di ripristinarlo, se necessario. Dopo 30 giorni, Service Management elimina definitivamente il servizio gestito.

Passaggi successivi