Remoção da gestão de APIs

Se adicionou a gestão de APIs à sua aplicação em Google Cloude, posteriormente, decidir que não quer as funcionalidades de gestão de APIs, pode configurar os frameworks do Cloud Endpoints para parar de gerir a sua API.

A remoção da gestão de APIs não impede a publicação da sua API. Se quiser parar de publicar a sua API, pode desativar a aplicação na página Definições do App Engine na Google Cloud consola ou pode eliminar o Google Cloud projeto. Consulte o artigo Desativar uma aplicação e encerrar um projeto para mais informações.

Para remover a gestão de APIs:

  1. Faça uma cópia de segurança dos ficheiros web.xml e appengine-web.xml do projeto da API.

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

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

    Depois de eliminar os filtros e os mapeamentos de filtros, o seu web.xml deve ser semelhante ao seguinte:

    <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 ficheiro 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 que definiu, remova toda a secção env-variables.

  4. Limpe o projeto e, em seguida, crie a API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  5. Volte a implementar a sua aplicação:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

Depois de voltar a implementar a sua aplicação, o Cloud Endpoints Frameworks deixa de gerir a sua API.

A validar a remoção da gestão de APIs

Para verificar se o Endpoints Frameworks já não está a gerir a sua API:

  1. Na Google Cloud consola, aceda à página Endpoints > Services.

    Aceda à página Serviços de pontos finais

  2. Registe o número de pedidos a um dos métodos na sua API.

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

  4. No Produced APIregisto, anote a data e a hora da entrada de registo mais recente.

  5. Envie alguns pedidos para o método na sua API.

  6. Na Google Cloud consola, aceda à página Endpoints > Services.

    Aceda à página Serviços de pontos finais

    O contador de pedidos do método não é atualizado.

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

    O registo Produced API não contém entradas de registo para os pedidos que enviou.

Remover dependências na configuração de compilação

Embora não seja obrigatório, pode querer remover as dependências na configuração de compilação.

Para remover dependências na configuração de compilação:

  1. Faça uma cópia de segurança do ficheiro pom.xml ou do ficheiro 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, em seguida, crie a API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  4. Volte a implementar a sua aplicação:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

  5. Teste a API para se certificar de que está a funcionar conforme esperado.

Eliminar o serviço gerido

O Endpoints Frameworks usa a gestão de serviços da Google para gerir a sua API. Quando implementou o documento OpenAPI através do comando gcloud endpoints services deploy, o comando usou a gestão de serviços para criar um serviço gerido para a sua API. Se não precisar dos dados na página Endpoints > Serviços e no registo da API produzida na página Visualizador de registos, pode eliminar o serviço gerido para a sua API, o que remove os dados da consola Google Cloud .

Para eliminar o serviço gerido:

  1. Certifique-se de que a CLI gcloud (gcloud) está autorizada a aceder aos seus dados e serviços em Google Cloud:

    gcloud auth login
    
  2. Introduza o seguinte para apresentar os IDs dos seus Google Cloud projetos:

    gcloud projects list
    
  3. Usando o ID do projeto aplicável do passo anterior, defina o projeto predefinido Google Cloud para aquele em que a sua aplicação se encontra:

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

    gcloud endpoints services list
    
  5. Elimine o serviço na gestão de serviços. Substitua SERVICE_NAME pelo nome do serviço que quer remover.

    gcloud endpoints services delete SERVICE_NAME
    

    A execução de gcloud endpoints services delete não elimina imediatamente o serviço gerido. A gestão de serviços desativa o serviço gerido durante 30 dias, o que lhe dá tempo para o restaurar, se precisar. Após 30 dias, a gestão de serviços elimina permanentemente o serviço gerido.

O que se segue?