Quita la administración de la API

Si agregaste la administración de API a tu aplicación en Google Cloud y posteriormente decides que no deseas estas funciones de administración, puedes configurar Cloud Endpoints Frameworks para que deje de administrar tu API.

Quitar la administración de la API no impide que esta se entregue. Si quieres dejar de entregar la API, puedes inhabilitar la aplicación en la página Configuración de App Engine en la consola de Google Cloud o borrar el proyecto de Google Cloud. Consulta Inhabilita una aplicación y cierra un proyecto para obtener más información.

Sigue estos pasos para quitar la administración de API:

  1. Realiza una copia de seguridad de los archivos web.xml y appengine-web.xml de tu proyecto de la API.

  2. En el archivo web.xml de tu proyecto de la API, quita los elementos siguientes:

    • El filtro endpoints-api-configuration
    • El filtro endpoints-api-controller
    • La asignación de filtros endpoints-api-configuration
    • La asignación de filtros endpoints-api-controller

    Después de borrar los filtros y las asignaciones de filtros, tu web.xml debe ser similar al siguiente:

    <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. En tu archivo appengine-web.xml, quita la línea que define la variable de entorno ENDPOINTS_SERVICE_NAME. Si ENDPOINTS_SERVICE_NAME es la única variable de entorno que definiste, quita toda la sección env-variables.

  4. Limpia tu proyecto y, luego, compila tu API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  5. Implementa tu aplicación de nuevo:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

Después de implementar tu aplicación de nuevo, Cloud Endpoints Frameworks deja de administrar tu API.

Verifica que se haya quitado la administración de API

Para verificar que Endpoints Frameworks ya no administra la API, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Endpoints > Servicios.

    Ir a la página Servicios de Endpoints

  2. Anota el número de solicitudes para uno de los métodos de la API.

  3. Haz clic en el vínculo View logs para el método.

  4. En el registro Produced API, escribe la fecha y hora de la entrada de registro más reciente.

  5. Envía algunas solicitudes para el método en la API.

  6. En la consola de Google Cloud, ve a la página Endpoints > Servicios.

    Ir a la página Servicios de Endpoints

    El contador de solicitudes del método no se actualiza.

  7. Haz clic en el vínculo View logs para el método.

    El registro Produced API no contiene entradas de registro para las solicitudes que enviaste.

Quita dependencias en tu configuración de compilación

Aunque no es obligatorio, te conviene quitar las dependencias en tu configuración de compilación.

Sigue estos pasos para quitar dependencias en tu configuración de compilación:

  1. Haz una copia de seguridad de tus archivos pom.xml o build.gradle.

  2. Quita las dependencias siguientes:

    • endpoints-management-control-appengine
    • endpoints-management-control-appengine-all
    • endpoints-framework-auth
  3. Limpia tu proyecto y luego compila tu API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  4. Implementa tu aplicación de nuevo:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

  5. Prueba tu API para asegurarte de que funciona según lo esperado.

Borra el servicio administrado

Endpoints Frameworks usa Service Management de Google para administrar tu API. Cuando implementaste el documento de OpenAPI con el comando gcloud endpoints services deploy, este usó Service Management a fin de crear un servicio administrado para tu API. Si no necesitas los datos en la página Endpoints > Servicios y en el registro API producida en la página Visor de registros, puedes borrar el servicio administrado para tu API, el cual quita los datos de la consola de Google Cloud.

Sigue estos pasos para borrar el servicio administrado:

  1. Asegúrate de que gcloud CLI (gcloud) esté autorizada para acceder a tus datos y servicios en Google Cloud:

    gcloud auth login
    
  2. Ingresa lo siguiente para mostrar los ID de tus proyectos de Google Cloud:

    gcloud projects list
    
  3. Con el ID del proyecto aplicable del paso anterior, establece el proyecto de Google Cloud en el que se encuentra tu aplicación como predeterminado:

    gcloud config set project [YOUR_PROJECT_ID]
    
  4. Obtén el nombre de todos los servicios administrados en tu proyecto de Google Cloud:

    gcloud endpoints services list
    
  5. Borra el servicio de Administración de servicios. Reemplaza SERVICE_NAME por el nombre del servicio que deseas quitar.

    gcloud endpoints services delete SERVICE_NAME
    

    La ejecución de gcloud endpoints services delete no borra de inmediato el servicio administrado. La Administración de servicios inhabilita el servicio administrado durante 30 días, lo que te da tiempo para restablecerlo si es necesario. Luego de 30 días, Service Management borra el servicio administrado de forma permanente.

¿Qué sigue?