Migra desde servicios agrupados en paquetes heredados

La mayoría de las funcionalidades que proporcionan los servicios en paquetes de App Engine ahora se proporcionan en las Bibliotecas cliente de Cloud para Java. Para obtener más información, consulta las alternativas recomendadas que se mencionan a continuación.

Si migrar a una solución sin agrupar no es una opción para tu proyecto, es posible que puedas continuar usando servicios agrupados en paquetes heredados en tus apps de Java 11/17 como resguardo. Este enfoque te brinda la flexibilidad para pasar a los servicios sin agrupar más adelante en el ciclo de migración.

Blobstore

Para almacenar y recuperar datos, usa Cloud Storage a través de las bibliotecas cliente de Cloud. Para comenzar, consulta Usa Cloud Storage.

Datastore

Puedes usar Firestore en modo Datastore como alternativa a la API de Datastore que se incluye en el entorno de ejecución de Java 8. Firestore es la versión más reciente de Datastore y recomendamos el modo Datastore para las bases de datos que usarán en gran medida las apps de App Engine.

Imágenes

Puedes entregar imágenes desde Cloud Storage, entregarlas directamente o usar una red de distribución de contenidos (CDN) de terceros.

Para cambiar el tamaño de las imágenes, convertirlas y manipularlas, usa una biblioteca de procesamiento de imágenes, como ImageJ2, imgscalr o thumbnailator Para usar una de estas bibliotecas de terceros, agrega la biblioteca como una dependencia y actualiza tu código a fin de llamar a las APIs de la biblioteca.

El servicio de imágenes de App Engine también proporcionó la funcionalidad para evitar solicitudes dinámicas a tu aplicación mediante el manejo del cambio de tamaño de la imagen a través de una URL de entrega. Si deseas una funcionalidad similar, puedes generar las imágenes con cambio de tamaño por adelantado y subirlas a Cloud Storage para entregarlas. De forma alternativa, puedes usar un servicio de red de distribución de contenidos (CDN) de terceros que permita cambiar el tamaño de las imágenes.

Registro

Recomendamos que actualices tu app para usar Cloud Logging, que admite funciones como ver registros en el explorador de registros, descargar registros, filtrar mensajes por gravedad y correlacionar los mensajes de apps con solicitudes específicas. Como alternativa, puedes habilitar estas funciones si escribes mensajes de registro que contengan datos específicos estructurados en un objeto JSON. Para obtener más información, consulta Escribe y visualiza registros.

Correo electrónico

Para enviar un correo electrónico, usa un proveedor de correo electrónico de terceros, como SendGrid, Mailgun o Mailjet. Todos estos servicios ofrecen API para enviar correos electrónicos desde aplicaciones.

Memcache

A fin de almacenar en caché los datos de la aplicación, usa Memorystore para Redis.

Módulos

Para obtener información y modificar los servicios en ejecución de tu aplicación, usa la API de Administrador de App Engine junto con una combinación de variables de entorno:

Información del servicio Cómo acceder
ID de aplicación actual Con la variable de entorno GAE_APPLICATION.
ID del proyecto actual Con la variable de entorno GOOGLE_CLOUD_PROJECT.
Nombre del servicio actual Con la variable de entorno GAE_SERVICE.
Versión del servicio actual Con la variable de entorno GAE_VERSION.
ID de instancia actual Con la variable de entorno GAE_INSTANCE.
Nombre de host predeterminado Método apps.get de la API de Administrador
Lista de servicios Método apps.services.list de la API de Administrador
Lista de versiones para un servicio Método apps.services.versions.list de la API de Administrador
Versión predeterminada para un servicio, incluidas las divisiones del tráfico Método apps.services.get de la API de Administrador
Lista de instancias en ejecución para una versión Método apps.services.versions.instances.list de la API de Administrador

Espacios de nombres

La API de espacios de nombres habilitó a las apps multiusuario a dividir los datos entre los usuarios con solo especificar una string de espacio de nombres única para cada usuario.

Si bien Datastore admite multiusuario directamente, otros servicios de Google Cloud no lo hacen. Si tu app multiusuario usa otros servicios de Google Cloud, deberás administrar la función multiusuario de forma manual. Para tener instancias de servicios aisladas por completo, puedes crear proyectos nuevos de manera programática mediante la API de Cloud Resource Manager y acceder a los recursos de todos los proyectos.

OAuth

En lugar de usar el servicio de OAuth de App Engine para verificar los tokens de OAuth 2.0, usa el método oauth2.tokeninfo de la API de OAuth 2.0.

Aloja cualquier base de datos de búsqueda en el texto completo, como ElasticSearch, en Compute Engine y accede a ella desde tu servicio.

Lista de tareas en cola

Pon en cola tareas para la ejecución de código asíncrono mediante la API de REST de Cloud Tasks, la API de RPC o la biblioteca cliente de Google Cloud, y usa un servicio estándar de App Engine de Java 11/17 como objetivo Push. Para obtener más información, consulta Migra desde listas de tareas en cola a Cloud Tasks.

En muchos casos en los que puedes usar listas de extracción, como poner en cola tareas o mensajes que se extraen y procesan con trabajadores separados, Pub/Sub puede ser una buena alternativa, ya que ofrece funcionalidades y garantías de entrega similares.

Para Java 11/17, consulta el siguiente programa de muestra que interactúa con la API de Cloud Tasks.

Autenticación de usuarios

Para una alternativa a la API de usuarios, usa cualquier mecanismo de autenticación basado en HTTP como los que se mencionan a continuación: