Como remover o gerenciamento da API

Se você adicionou o gerenciamento de API ao seu aplicativo no Google Cloud e depois decidiu não usar esses recursos, é possível configurar o Cloud Endpoints Frameworks para deixar de gerenciar sua API.

Remover o gerenciamento da API não impede que sua API seja disponibilizada. Se você quiser interromper a veiculação da API, desative o aplicativo na página Configurações do App Engine no console do Google Cloud ou exclua o projeto do Google Cloud. Para mais informações, consulte Como desativar um aplicativo e encerrar um projeto.

Para remover o gerenciamento da API:

  1. Faça backup dos arquivos web.xml e appengine-web.xml do seu projeto de API.

  2. No arquivo web.xml do projeto da API, remova o seguinte:

    • O filtro endpoints-api-configuration.
    • O filtro endpoints-api-controller.
    • O mapeamento de filtro endpoints-api-configuration.
    • O mapeamento de filtro endpoints-api-controller.

    Depois de excluir tudo isso, o web.xml ficará assim:

    <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. No seu arquivo appengine-web.xml, remova a linha que define a variável de ambiente ENDPOINTS_SERVICE_NAME. Se ENDPOINTS_SERVICE_NAME for a única variável de ambiente definida, remova a seção env-variables inteira.

  4. Limpe o projeto e crie a API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  5. Implante o aplicativo novamente:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

Depois de reimplantar o aplicativo, o Cloud Endpoints Frameworks deixa de gerenciar a API.

Como verificar a remoção do gerenciamento de API

Para verificar se o Endpoints Frameworks não está mais gerenciando sua API:

  1. No console do Google Cloud, acesse a página Endpoints > Serviços.

    Ir para a página Serviços do Endpoints

  2. Anote o número de solicitações para um dos métodos na sua API.

  3. Clique no link View logs do método.

  4. No registro Produced API, anote a data e a hora da entrada de registro mais recente.

  5. Envie algumas solicitações para o método na sua API.

  6. No console do Google Cloud, acesse a página Endpoints > Serviços.

    Ir para a página Serviços do Endpoints

    O contador de solicitações do método não está atualizado.

  7. Clique no link View logs do método.

    O registro Produced API não contém entradas de registro para as solicitações enviadas.

Como remover dependências na configuração da compilação

É possível remover dependências na configuração da compilação. No entanto, isso não é obrigatório.

Basta seguir estas etapas:

  1. Faça backup do seu arquivo pom.xml ou build.gradle.

  2. Remova as seguintes dependências:

    • endpoints-management-control-appengine
    • endpoints-management-control-appengine-all
    • endpoints-framework-auth
  3. Limpe o projeto e crie a API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  4. Implante o aplicativo novamente:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

  5. Teste a API para verificar se ela está funcionando conforme o esperado.

Como excluir o serviço gerenciado

O Endpoints Frameworks usa o Service Management do Google para gerenciar sua API. Se for implantado com o documento do OpenAPI, o comando gcloud endpoints services deploy usará o Service Management para criar um serviço gerenciado na API. Se você não precisa dos dados na página Endpoints > Serviços e no registro API Produzida do Visualizador de registros, exclua o serviço gerenciado da API. Isso remove os dados do console do Google Cloud.

Para excluir o serviço gerenciado:

  1. Verifique se a CLI gcloud (gcloud) está autorizada a acessar seus dados e serviços no Google Cloud:

    gcloud auth login
    
  2. Insira o comando abaixo para exibir os IDs dos seus projetos do Google Cloud:

    gcloud projects list
    
  3. Usando o ID do projeto aplicável da etapa anterior, defina o projeto padrão do Google Cloud como aquele em que seu aplicativo se encontra:

    gcloud config set project [YOUR_PROJECT_ID]
    
  4. Obtenha o nome de todos os serviços gerenciados no seu projeto do Google Cloud:

    gcloud endpoints services list
    
  5. Exclua o serviço do Service Management: Substitua SERVICE_NAME pelo nome do serviço que você quer remover.

    gcloud endpoints services delete SERVICE_NAME
    

    A execução de gcloud endpoints services delete não exclui imediatamente o serviço gerenciado. O Service Management desativa o serviço gerenciado por 30 dias, o que permite que você tenha tempo para restaurá-lo, se necessário. Após 30 dias, o Service Management exclui permanentemente o serviço gerenciado.

A seguir