Supprimer la gestion des API

Si vous avez ajouté la gestion des API à votre application sur Google Cloud, et que vous décidez par la suite de ne plus utiliser les fonctionnalités de gestion des API, vous pouvez configurer Cloud Endpoints Frameworks pour qu'il arrête de gérer l'API.

La suppression de la gestion des API n'empêche pas la diffusion de l'API. Si vous ne souhaitez plus diffuser votre API, vous pouvez la désactiver sur la page Paramètres App Engine de Google Cloud Console, ou supprimer le projet Cloud. Pour en savoir plus, consultez la section Désactiver une application et arrêter un projet.

Pour supprimer la gestion des API, procédez comme suit :

  1. Sauvegardez les fichiers web.xml et appengine-web.xml de votre projet d'API.

  2. Dans le fichier web.xml de votre projet d'API, supprimez les éléments suivants :

    • Le filtre endpoints-api-configuration
    • Le filtre endpoints-api-controller
    • Le mappage de filtre endpoints-api-configuration
    • Le mappage de filtre endpoints-api-controller

    Une fois que vous avez supprimé les filtres et les mappages de filtre, votre fichier web.xml doit ressembler à ce qui suit :

    <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. Dans le fichier appengine-web.xml, supprimez la ligne qui définit la variable d'environnement ENDPOINTS_SERVICE_NAME. Si ENDPOINTS_SERVICE_NAME est la seule variable d'environnement que vous avez définie, supprimez l'intégralité de la section env-variables.

  4. Nettoyez votre projet, puis compilez votre API :

    Maven

            mvn clean
            mvn package

    Gradle

            gradle clean
            gradle build
  5. Redéployez votre application.

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

Une fois votre application redéployée, Cloud Endpoints Frameworks cesse de gérer votre API.

Vérifier que la gestion des API a bien été supprimée

Pour vérifier que Endpoints Frameworks ne gère plus l'API, procédez comme suit :

  1. Dans Cloud Console, accédez à la page Endpoints > Services.

    Accédez à la page Services Endpoints

  2. Notez le nombre de requêtes envoyées à l'une des méthodes de votre API.

  3. Cliquez sur le lien View logs de la méthode.

  4. Dans le journal Produced API, notez la date et l'heure de l'entrée de journal la plus récente.

  5. Envoyez des requêtes à la méthode dans l'API.

  6. Dans Cloud Console, accédez à la page Endpoints > Services.

    Accédez à la page Services Endpoints

    Le compteur de requêtes pour la méthode n'est pas mis à jour.

  7. Cliquez sur le lien View logs de la méthode.

    Le journal Produced API ne contient aucune entrée de journal pour les requêtes que vous avez envoyées.

Supprimer des dépendances de votre configuration de compilation

Bien que cela ne soit pas obligatoire, vous pouvez supprimer des dépendances de votre configuration de compilation.

Pour supprimer des dépendances de votre configuration de compilation, procédez comme suit :

  1. Sauvegardez votre fichier pom.xml ou votre fichier build.gradle.

  2. Supprimez les dépendances suivantes :

    • endpoints-management-control-appengine
    • endpoints-management-control-appengine-all
    • endpoints-framework-auth
  3. Nettoyez votre projet, puis compilez votre API :

    Maven

            mvn clean
            mvn package

    Gradle

            gradle clean
            gradle build
  4. Redéployez votre application.

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

  5. Testez votre API pour vérifier qu'elle fonctionne normalement.

Supprimer le service géré

Endpoints Frameworks gère votre API à l'aide de Google Service Management. Lorsque vous avez déployé le document OpenAPI via la commande gcloud endpoints services deploy, celle-ci a créé un service géré pour votre API avec Service Management. Si vous n'avez pas besoin des données de la page Endpoints > Services et du journal API produite sur la page Visionneuse de journaux, vous pouvez supprimer le service géré pour votre API, ce qui entraîne la suppression des données de Cloud Console.

Pour supprimer le service géré :

  1. Assurez-vous que le SDK Cloud (gcloud) est autorisé à accéder à vos données et services sur Google Cloud :

    gcloud auth login
        
  2. Saisissez la commande suivante pour afficher les ID de vos projets Google Cloud :

    gcloud projects list
        
  3. En utilisant l'ID de projet applicable récupéré à l'étape précédente, définissez le projet Cloud par défaut sur celui hébergeant votre application :

    gcloud config set project [YOUR_PROJECT_ID]
        
  4. Obtenez le nom de tous les services gérés de votre projet Cloud :

    gcloud endpoints services list
        
  5. Supprimez le service de Service Management. Remplacez SERVICE_NAME par le nom du service que vous souhaitez supprimer.

        gcloud endpoints services delete SERVICE_NAME
        

    L'exécution de gcloud endpoints services delete ne supprime pas immédiatement le service géré. Il est désactivé pendant 30 jours, ce qui vous laisse le temps de le restaurer au besoin. Passé ce délai, Service Management supprime définitivement le service.

Étape suivante