Quita la administración de la API

Si agregaste administración de API a tu aplicación en Google Cloud y posteriormente decides que no deseas las funciones de administración de API, 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 tu API, puedes inhabilitar la aplicación en la página Configuración de App Engine en Google Cloud Console o borrar el proyecto de 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 Cloud Console, 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 Cloud Console, 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 que aparecen en la página Endpoints > Servicios y del registro de API producida en la página del visor de registros, puedes borrar el servicio administrado para la API, lo cual quita los de Cloud Console.

Sigue estos pasos para borrar el servicio administrado:

  1. Asegúrate de que el SDK de Cloud (gcloud) esté autorizado 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 predeterminado de Cloud en el que se encuentra tu aplicación:

    gcloud config set project [YOUR_PROJECT_ID]
    
  4. Obtén el nombre de todos los servicios administrados en tu proyecto de 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.

Próximos pasos