La mayoría de las funciones que ofrecían los servicios agrupados antiguos ahora se proporcionan a través de las bibliotecas de cliente de Cloud. Para obtener más información, consulta las alternativas recomendadas que se indican a continuación.
Si no puedes migrar tu proyecto a una solución sin agrupar, puedes seguir usando los servicios antiguos agrupados en tus aplicaciones de Java 11/17 como alternativa. Este enfoque te ofrece flexibilidad para cambiar a servicios sin paquete más adelante en el ciclo de migración.
Una vez que hayas completado la migración de los servicios agrupados antiguos, podrás seguir usando App Engine o migrar a Cloud Run. Cloud Run está diseñado para mejorar la experiencia de App Engine e incorpora muchas de las mejores funciones del entorno estándar y del flexible. Para comparar las funciones y saber cómo migrar, consulta la guía de comparación de App Engine y Cloud Run.
Procesos de migración de servicios agrupados de App Engine
Almacén de blobs
Para almacenar y recuperar datos, usa Cloud Storage a través de las bibliotecas de cliente de Cloud. Para empezar, consulta el artículo Usar Cloud Storage.
Datastore
Puedes usar Firestore en el modo Datastore como alternativa a la API de Datastore. Firestore es la versión más reciente de Datastore y te recomendamos que uses las bibliotecas de cliente de Cloud para Datastore.
Imágenes
Puedes publicar imágenes desde Cloud Storage, publicarlas directamente o usar una red de distribución de contenido (CDN) de terceros.
Para cambiar el tamaño, convertir y manipular imágenes, usa una biblioteca de procesamiento de imágenes como ImageJ2, imgscalr o thumbnailator
Para usar una de estas bibliotecas de terceros, añade la biblioteca como dependencia y actualiza tu código para llamar a las APIs de la biblioteca.
El servicio Imágenes de App Engine también ofrecía funciones para evitar solicitudes dinámicas a tu aplicación gestionando el cambio de tamaño de las imágenes mediante una URL de servicio. Si quieres una función similar, puedes generar las imágenes redimensionadas con antelación y subirlas a Cloud Storage para publicarlas. También puedes usar un servicio de red de distribución de contenido (CDN) de terceros que ofrezca la función de cambiar el tamaño de las imágenes.
Almacenamiento de registros
Te recomendamos que actualices tu aplicación para usar Cloud Logging, que admite funciones como ver registros en el Explorador de registros, descargar registros, filtrar mensajes por gravedad y correlacionar mensajes de la aplicación con solicitudes específicas. Si prefieres la sencillez a la exactitud de los datos, puedes escribir registros estructurados en stdout o stderr.
Para obtener más información, consulta los artículos sobre cómo escribir y ver registros.
Correo
Para mejorar la seguridad del correo y garantizar una entrega fiable de correos de gran volumen, te recomendamos que migres de la API Mail antigua a un servicio de correo basado en SMTP, como SendGrid, Mailgun o Mailjet.Memcache
Para almacenar en caché datos de aplicaciones, usa Memorystore para Redis.
Módulos
Para obtener información y modificar los servicios en ejecución de tu aplicación, usa una combinación de variables de entorno y la API Admin de App Engine:
| Información sobre el servicio | Cómo acceder |
|---|---|
| ID de la aplicación actual | Variable de entorno GAE_APPLICATION |
| ID del proyecto actual | Variable de entorno GOOGLE_CLOUD_PROJECT |
| Nombre del servicio actual | Variable de entorno GAE_SERVICE |
| Versión actual del servicio | Variable de entorno GAE_VERSION |
| ID de instancia actual | Variable de entorno GAE_INSTANCE |
| Nombre de host predeterminado | Método apps.get de la API Admin |
| Lista de servicios | Método apps.services.list de la API Admin |
| Lista de versiones de un servicio | Método apps.services.versions.list de la API Admin |
| Versión predeterminada de un servicio, incluidas las divisiones de tráfico | Método apps.services.get de la API Admin |
| Lista de instancias en ejecución de una versión | Método apps.services.versions.instances.list de la API Admin |
Para obtener más información sobre los datos disponibles sobre los servicios en ejecución de tu aplicación, consulta el artículo sobre el entorno de ejecución de Java 11/17 .
Espacios de nombres
La API Namespaces permite que las aplicaciones multicliente particionen los datos entre los clientes simplemente especificando una cadena de espacio de nombres única para cada cliente.
Aunque Datastore admite el multitenancy directamente, otros servicios Google Cloud no lo hacen. Si tu aplicación multitenant usa otros servicios de Google Cloud, tendrás que gestionar la multitenencia manualmente. Para tener instancias de servicios completamente aisladas, puedes crear proyectos nuevos de forma programática con la API Cloud Resource Manager y acceder a recursos de diferentes proyectos.
OAuth
En lugar de usar el servicio OAuth de App Engine para verificar los tokens de OAuth 2.0, utiliza el método oauth2.tokeninfo de la API OAuth 2.0.
Buscar
Aloja cualquier base de datos de búsqueda de texto completo, como Elasticsearch, en Compute Engine y accede a ella desde tu servicio.
Cola de tareas
Poner tareas en cola para la ejecución de código asíncrono mediante la API REST, la API RPC o las bibliotecas de cliente de Cloud Tasks, y usar un servicio estándar de App Engine (Java 11/17, PHP 7/8, Go 1.12+ o Python 3) como destino de envío.Para obtener más información, consulta el artículo sobre cómo migrar de las colas de tareas a Cloud Tasks.
Para Java 11/17, consulta el siguiente programa de ejemplo que interactúa con la API Cloud Tasks.En muchos casos en los que podrías usar colas para tareas extraídas, como poner en cola tareas o mensajes que extraerán y procesarán trabajadores independientes, Pub/Sub puede ser una buena alternativa, ya que ofrece funciones y garantías de entrega similares.
Autenticación de usuarios
Como alternativa a la API Users, puedes usar cualquiera de los mecanismos de autenticación basados en HTTP que se describen en la página Autenticación de usuarios.