Migrar de serviços agrupados legados

A maior parte da funcionalidade fornecida pelos serviços incluídos legados no App Engine agora é fornecida pelas Bibliotecas de cliente do Cloud para Go. Para mais informações, consulte as alternativas recomendadas listadas abaixo.

Se migrar para uma solução não incluída não for uma opção para o projeto, talvez seja possível continuar usando os serviços legados incluídos do App Engine nos aplicativos Go 1.12+ como substitutos. Essa abordagem oferece flexibilidade para migrar para serviços desagrupados posteriormente no ciclo de migração.

  • Use o Cloud Tasks para enfileirar tarefas do Go 1.12 e mais recente usando o pacote cloudtasks. Use qualquer serviço do App Engine como o destino de uma tarefa do App Engine.
  • Em vez da API App Engine Mail, use um provedor de e-mail de terceiros, como SendGrid, Mailgun ou Mailjet para enviar e-mails. Todos esses serviços oferecem APIs para enviar e-mails de aplicativos.
  • Para armazenar os dados do aplicativo em cache, use o Memorystore para Redis.
  • Acesse a API Modules do App Engine usando a biblioteca google-api-go-client. Use as variáveis de ambiente e a API App Engine Admin para receber informações e modificar os serviços em execução do aplicativo:

    Informações de serviços Como acessar
    Nome do serviço atual Por meio da variável de ambiente GAE_SERVICE.
    Versão do serviço atual Por meio da variável de ambiente GAE_VERSION.
    ID da instância atual Por meio da variável de ambiente GAE_INSTANCE.
    Nome do host padrão Método apps.get da API Admin
    Lista de serviços Método apps.services.list da API Admin
    Lista de versões de um serviço Método apps.services.versions.list da API Admin
    Versão padrão de um serviço, incluindo qualquer divisão de tráfego Método apps.services.get da API Admin
    Lista de instâncias em execução de uma versão Método apps.services.versions.instances.list da API Admin
  • O Cloud Storage é recomendado em vez de usar a API Blobstore do App Engine. Use o Cloud Storage por meio do pacote storage. Para começar, consulte a página Bibliotecas de cliente do Cloud Storage.

  • Acesse o Firestore no modo Datastore (Datastore) usando o pacote datastore. Para começar, consulte a página Bibliotecas de cliente do Datastore.

  • Em vez de usar a API App Engine Search, hospede qualquer banco de dados de pesquisa de texto completo, como o ElasticSearch no Compute Engine, e acesse-o do serviço.

  • Use funcionalidades semelhantes fornecidas pela API Images do App Engine no Cloud Storage por meio do pacote storage e de um serviço de terceiros para manipular imagens. Para começar, consulte a página Bibliotecas de cliente do Cloud Storage.

  • Use request.Context() ou seu contexto preferido em vez de usar appengine.NewContext.

  • As seguintes funcionalidades específicas do App Engine foram substituídas pelos pacotes da biblioteca padrão do Go listados abaixo:

    Pacote do App Engine Pacote da biblioteca padrão do Go
    Pacote cloudsql Pacote database/sql
    Pacote file Pacote os
    Pacote log Pacote log
    Pacote socket Pacote net
    Pacote urlfetch Pacote net/http