A maior parte da funcionalidade fornecida pelos serviços incluídos legados agora é fornecida pelas Bibliotecas de cliente do Cloud para PHP. Para mais informações, consulte as alternativas recomendadas listadas abaixo.
Se a migração para uma solução não agrupada não for uma opção para o projeto, talvez seja possível continuar usando serviços agrupados legados nos aplicativos PHP 7/8 como substitutos. Essa abordagem oferece flexibilidade para migrar para serviços desagrupados posteriormente no ciclo de migração.
Blobstore
Para armazenar e recuperar dados, use o Cloud Storage por meio das bibliotecas de cliente do Cloud. Para começar, consulte Usar o Cloud Storage.
Datastore
É possível usar o Firestore no modo Datastore como uma alternativa à API do Datastore que está incluída no ambiente de execução do Java 8. Firestore é a versão mais recente do Datastore e recomendamos que você use o modo Datastore em bancos de dados que serão usados principalmente por aplicativos do App Engine.
Imagens
É possível veicular imagens a partir do Cloud Storage, veiculá-las diretamente ou usar uma rede de fornecimento de conteúdo (CDN) terceirizada.
Para redimensionar, converter e manipular imagens, use uma biblioteca de processamento de imagens, como GD ou ImageMagick Para usar uma dessas opções bibliotecas de terceiros, adicione a biblioteca como uma dependência e atualize o código para chamar as APIs da biblioteca.
O serviço de imagens do App Engine também oferece funcionalidades para evitar solicitações dinâmicas ao seu aplicativo. Para isso, ele realiza o redimensionamento de imagens por meio de um URL de exibição. Se você quiser uma funcionalidade semelhante, será possível gerar as imagens redimensionadas com antecedência e enviá-las ao Cloud Storage para exibição. Como alternativa, é possível é usar um serviço de rede de fornecimento de conteúdo (CDN) de terceiros que ofereça redimensionamento de imagens.
Logging
Recomendamos que você atualize o aplicativo para usar o Cloud Logging, que é compatível com recursos como ver registros no explorador, fazer o download de registros, filtrar mensagens por nível de gravidade e correlacionar mensagens de apps com solicitações específicas. Como alternativa, ative esses recursos gravando mensagens de registro que contenham dados específicos estruturados em um objeto JSON. Saiba mais em Gravar e visualizar registros.
Para enviar e-mails, use um provedor de e-mail terceirizado, como SendGrid, Mailgun ou Mailjet (todos em inglês). Todos esses serviços oferecem APIs para enviar e-mails a partir de aplicativos.
Memcache
Para armazenar os dados do aplicativo em cache, use o Memorystore para Redis.
Módulos
Para mais informações e para saber como modificar os serviços em execução do aplicativo, use uma combinação de variáveis de ambiente e a API Admin do App Engine:
Informações de serviços | Como acessar |
---|---|
ID do aplicativo atual | Por meio da variável de ambiente GAE_APPLICATION . |
ID do projeto atual | Por meio da variável de ambiente GOOGLE_CLOUD_PROJECT . |
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 |
Namespaces
A API Namespaces permitia que os aplicativos multilocatários particionassem dados por locatários simplesmente especificando uma string de namespace exclusiva para cada locatário.
O Datastore é compatível com multilocação diretamente, mas o mesmo não ocorre com outros serviços do Google Cloud. Se o aplicativo multilocatário usar outros serviços do Google Cloud, você precisará processar a multilocação manualmente. Para ter instâncias de serviços completamente isoladas, crie projetos novos de maneira programática usando a API Cloud Resource Manager e acesse os recursos em todos os projetos.
OAuth
Em vez de usar o serviço OAuth do App Engine para verificar os tokens do OAuth 2.0,
use o método
oauth2.tokeninfo
da
API OAuth 2.0.
Pesquisa
Hospede qualquer banco de dados de pesquisa de texto completo, como o ElasticSearch no Compute Engine, e acesse-o a partir do serviço.
Fila de tarefas
Coloque as tarefas em fila para execução de código assíncrono usando a API REST Cloud Tasks, a API RPC ou a biblioteca de cliente do Google Cloud e use um serviço padrão do PHP 7/8 do App Engine como destino de envio. Para mais informações, consulte Migrar do Task Queues para o Cloud Tasks.
Quando for necessário usar filas pull, como no enfileiramento de tarefas ou mensagens a serem extraídas e processadas por workers separados, o Pub/Sub pode ser uma boa alternativa. Ele oferece uma funcionalidade semelhante e garantias de entrega.
Para o Java 11/17, consulte o programa de exemplo a seguir que interage com a API Cloud Tasks.
Autenticação de usuário
Como alternativa, use qualquer mecanismo de autenticação com base em HTTP em vez da API Users, como:
- OAuth 2.0 e OpenID Connect, que fornecem identidade federada a partir do provedor de sua escolha. O Google é um provedor de identidade do OpenID Connect. Há também vários outros (em inglês) provedores disponíveis.
- Firebase Authentication, que fornece autenticação por meio de nome de usuário/senha e identidade federada usando o Google, Facebook, Twitter e muito mais.
- Google Identity Platform, que fornece muitas opções para autenticação e autorização de contas de usuários do Google.
- Auth0, que fornece autenticação com vários provedores de identidade e recursos de logon único.