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 deseas 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 al 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.

Para borrar el servicio administrado:

  1. Asegúrate de que en el SDK de Cloud (gcloud) se disponga de la autorización para acceder a tus datos y servicios en Google Cloud mediante el siguiente comando:

    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, configura el proyecto de Cloud predeterminado 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, la Administración de servicios borra el servicio administrado de forma permanente.

Qué sigue