La maggior parte delle funzionalità fornite dai servizi in bundle legacy è ora fornita dalle librerie client di Cloud. Per saperne di più, consulta le alternative consigliate elencate di seguito.
Se la migrazione a una soluzione non in bundle non è un'opzione per il tuo progetto, allora potresti continuare a utilizzare i servizi in bundle legacy nelle tue app Java 11/17 come fallback. Questo approccio ti offre la flessibilità di passare ai servizi non in bundle in un secondo momento nel ciclo di migrazione.
Dopo aver eseguito la migrazione dai servizi in bundle legacy, puoi continuare a utilizzare App Engine o eseguire la migrazione a Cloud Run. Cloud Run è progettato per migliorare l'esperienza di App Engine e incorpora molte delle migliori funzionalità sia dell'ambiente standard sia dell'ambiente flessibile. Per confrontare le funzionalità e capire come eseguire la migrazione, consulta la guida al confronto tra App Engine e Cloud Run.
Percorsi di migrazione per i servizi in bundle di App Engine
Blobstore
Per archiviare e recuperare i dati, utilizza Cloud Storage tramite le librerie client di Cloud. Per iniziare, consulta Utilizzare Cloud Storage.
Datastore
Puoi utilizzare Firestore in modalità Datastore come alternativa all'API Datastore. Firestore è la versione più recente di Datastore e ti consigliamo di utilizzare le librerie client di Cloud per Datastore.
Immagini
Per eseguire la migrazione del servizio Immagini di App Engine, esegui il deployment di un servizio di trasformazione delle immagini containerizzato su Cloud Run e indirizza le chiamate al servizio Immagini di App Engine. Per ospitare e pubblicare le immagini, archiviale in un bucket Cloud Storage o distribuiscile utilizzando Cloud CDN. Per saperne di più, consulta Eseguire la migrazione del servizio Immagini.Logging
Ti consigliamo di aggiornare l'app per utilizzare Cloud Logging, che supporta funzionalità come la visualizzazione dei log in Esplora log, il download dei log, il filtro dei messaggi in base alla gravità e la correlazione dei messaggi dell'app con richieste specifiche. In alternativa, se preferisci la semplicità alla precisione dei dati, puoi scrivere log strutturati in stdout o stderr.
Per saperne di più, consulta
Scrivere e visualizzare i log.
Posta
Per migliorare la sicurezza delle email e garantire una consegna di email affidabile e ad alto volume, ti consigliamo di eseguire la migrazione dall'API Mail legacy a un servizio email basato su SMTP, come SendGrid, Mailgun o Mailjet.Memcache
Per memorizzare nella cache i dati dell'applicazione, utilizza Memorystore for Redis.
Moduli
Per ottenere informazioni e modificare i servizi in esecuzione dell'applicazione, utilizza una combinazione di variabili di ambiente e l'API App Engine Admin:
| Informazioni sul servizio | Come accedere |
|---|---|
| ID applicazione corrente | Variabile di ambiente GAE_APPLICATION |
| ID progetto corrente | Variabile di ambiente GOOGLE_CLOUD_PROJECT |
| Nome del servizio corrente | Variabile di ambiente GAE_SERVICE |
| Versione del servizio corrente | Variabile di ambiente GAE_VERSION |
| ID istanza corrente | Variabile di ambiente GAE_INSTANCE |
| Nome host predefinito | Metodo apps.get dell'API Admin |
| Elenco di servizi | Metodo apps.services.list dell'API Admin |
| Elenco delle versioni di un servizio | Metodo apps.services.versions.list dell'API Admin |
| Versione predefinita di un servizio, inclusi eventuali split del traffico | Metodo apps.services.get dell'API Admin |
| Elenco delle istanze in esecuzione per una versione | Metodo apps.services.versions.instances.list dell'API Admin |
Per saperne di più sui dati disponibili sui servizi in esecuzione dell'applicazione, consulta Java 11/17 runtime environment.
Spazi dei nomi
L'API Namespaces consente alle app multitenant di partizionare i dati tra i tenant semplicemente specificando una stringa di spazio dei nomi univoca per ogni tenant.
Sebbene Datastore supporti la multitenancy direttamente, altri Google Cloud servizi non lo fanno. Se la tua app multitenant utilizza altri Google Cloud servizi, dovrai gestire manualmente la multitenancy. Per avere istanze di servizi completamente isolate, puoi creare nuovi progetti a livello di programmazione utilizzando l'API Cloud Resource Manager e accedere alle risorse tra i progetti.
OAuth
Anziché utilizzare il servizio OAuth di App Engine per verificare i token OAuth 2.0,
utilizza il
oauth2.tokeninfo
metodo dell'
API OAuth 2.0.
Cerca
Ospita qualsiasi database di ricerca full-text, come Elasticsearch, su Compute Engine e accedi da un servizio.
Coda di attività
Accoda le attività per l'esecuzione asincrona del codice utilizzando l' API REST Cloud Tasks, l'API RPC o le librerie client di Cloud, e utilizza un servizio standard App Engine Java 11/17 come target push. Per saperne di più, consulta Eseguire la migrazione da code di attività a Cloud Tasks.
Per Java 11/17, consulta il seguente programma di esempio che interagisce con l'API Cloud Tasks.In molti casi in cui potresti utilizzare le code pull, ad esempio per accodare attività o messaggi che verranno estratti ed elaborati da worker separati, Pub/Sub può essere una buona alternativa in quanto offre funzionalità e garanzie di consegna simili.
Autenticazione degli utenti
Per un'alternativa all'API Users, utilizza uno dei meccanismi di autenticazione basati su HTTP descritti nella pagina Autenticazione degli utenti.