Rimozione della gestione delle API

Se hai aggiunto la gestione delle API alla tua applicazione on Google Cloud, e successivamente decidi che non vuoi le funzionalità di gestione delle API, puoi configurare Cloud Endpoints Frameworks in modo che smetta di gestire la tua API.

La rimozione della gestione delle API non impedisce la pubblicazione dell'API. Se vuoi interrompere la pubblicazione dell'API, puoi disattivare l'applicazione nella pagina Impostazioni App Engine nella Google Cloud console oppure puoi eliminare il Google Cloud progetto. Per ulteriori informazioni, vedi Disattivare un'applicazione e arrestare 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.
    • Il mapping dei filtri endpoints-api-configuration.
    • Il mapping dei filtri endpoints-api-controller.

    Dopo aver eliminato i filtri e i mapping dei filtri, il file 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 sezione env-variables.

  4. Pulisci 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 di nuovo il deployment dell'applicazione, Cloud Endpoints Frameworks smette di gestire l'API.

Verificare la rimozione della gestione delle API

Per verificare che Endpoints Frameworks non gestisca più l'API:

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

    Vai alla pagina Servizi Endpoints

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

  3. Fai clic sul link View logs (Visualizza log) per il metodo.

  4. Nel log Produced API (API prodotta), annota la data e l'ora della voce di log più recente.

  5. Invia alcune richieste al metodo nell'API.

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

    Vai alla pagina Servizi Endpoints

    Il contatore delle richieste per il metodo non viene aggiornato.

  7. Fai clic sul link View logs (Visualizza log) per il metodo.

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

Rimuovere le dipendenze nella configurazione di compilazione

Anche se non è obbligatorio, potresti voler rimuovere le dipendenze nella configurazione della build.

Per rimuovere le dipendenze nella configurazione di compilazione:

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

  2. Rimuovi le seguenti dipendenze:

    • endpoints-management-control-appengine
    • endpoints-management-control-appengine-all
    • endpoints-framework-auth
  3. Pulisci il progetto e poi 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.

Eliminare il 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 l'API. Se non hai bisogno dei dati nella Endpoints > Servizi pagina e nel log API prodotta nella pagina Visualizzatore log, puoi eliminare il servizio gestito per l'API, che rimuove i dati dalla Google Cloud console.

Per eliminare il servizio gestito:

  1. Assicurati che gcloud CLI (gcloud) sia autorizzato ad accedere ai tuoi dati e servizi su Google Cloud:

    gcloud auth login
    
  2. Inserisci quanto segue per visualizzare gli ID progetto dei tuoi Google Cloud progetti:

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

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

    gcloud endpoints services list
    
  5. Elimina il servizio da Service Management. Sostituisci SERVICE_NAME con il nome del servizio che vuoi 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