Eseguire la migrazione dai servizi in bundle legacy

La maggior parte delle funzionalità fornite dai servizi in bundle legacy ora è fornita dalle librerie client Cloud. Per ulteriori informazioni, consulta le alternative consigliate elencate di seguito.

Se la migrazione a una soluzione non in bundle non è un'opzione per il tuo progetto, potresti essere in grado di continuare a utilizzare i servizi in bundle legacy nelle tue appJava 11/17, come fallback. Questo approccio ti offre la flessibilità di passare a servizi separati in un secondo momento del ciclo di migrazione.

Dopo la migrazione dai servizi integrati 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

Archivio BLOB

Per archiviare e recuperare i dati, utilizza Cloud Storage tramite le librerie client di Cloud. Per iniziare, consulta Utilizzo di Cloud Storage.

Datastore

Puoi utilizzare Firestore in modalità Datastore come alternativa all'API Datastore. Firestore è l'ultima versione di Datastore e ti consigliamo di utilizzare le librerie client Cloud per Datastore.

Immagini

Puoi pubblicare immagini da Cloud Storage, pubblicarle direttamente o utilizzare una Content Delivery Network (CDN) di terze parti.

Per ridimensionare, convertire e manipolare le immagini, utilizza una libreria di elaborazione delle immagini come ImageJ2, imgscalr o thumbnailator

Per utilizzare una di queste librerie di terze parti, aggiungi la libreria come dipendenza e aggiorna il codice per chiamare le API della libreria.

Il servizio App Engine Images forniva anche funzionalità per evitare richieste dinamiche alla tua applicazione gestendo il ridimensionamento delle immagini utilizzando un URL di pubblicazione. Se vuoi una funzionalità simile, puoi generare le immagini ridimensionate in anticipo e caricarle in Cloud Storage per la pubblicazione. In alternativa, puoi utilizzare un servizio di rete CDN (Content Delivery Network) di terze parti che offre il ridimensionamento delle 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 filtraggio dei messaggi in base alla gravità e la correlazione dei messaggi dell'app con richieste specifiche. In alternativa, se preferisci la semplicità all'accuratezza dei dati, puoi scrivere log strutturati in stdout o stderr. Per saperne di più, consulta Scrittura e visualizzazione dei log.

Posta

Per migliorare la sicurezza delle email e garantire un recapito affidabile di email ad alto volume, ti consigliamo di eseguire la migrazione dall'API Mail legacy a un servizio email basato su SMTP, ad esempio 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 della tua applicazione, utilizza una combinazione di variabili di ambiente e dell'API App Engine Admin:

Informazioni sul servizio Come accedere
ID applicazione corrente Variabile di ambiente GAE_APPLICATION
ID progetto attuale Variabile di ambiente GOOGLE_CLOUD_PROJECT
Nome del servizio attuale Variabile di ambiente GAE_SERVICE
Versione attuale del servizio Variabile di ambiente GAE_VERSION
ID istanza attuale Variabile di ambiente GAE_INSTANCE
Nome host predefinito Metodo API apps.get
Elenco dei servizi Metodo API apps.services.list
Elenco delle versioni per un servizio Metodo API apps.services.versions.list
Versione predefinita per un servizio, incluse eventuali suddivisioni del traffico Metodo API apps.services.get
Elenco delle istanze in esecuzione per una versione Metodo API apps.services.versions.instances.list

Per ulteriori informazioni sui dati disponibili sui servizi in esecuzione della tua applicazione, consulta l' ambiente di runtime Java 11/17 .

Spazi dei nomi

L'API Namespaces consente alle app multitenant di partizionare i dati tra i tenant semplicemente specificando una stringa dello spazio dei nomi univoca per ogni tenant.

Mentre Datastore supporta il multitenancy direttamente, altri servizi Google Cloud non lo fanno. Se la tua app multitenant utilizza altri Google Cloud servizi, dovrai gestire la multitenancy manualmente. Per avere istanze di servizi completamente isolate, puoi creare nuovi progetti in modo programmatico 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 metodo oauth2.tokeninfo dell'API OAuth 2.0.

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, l'API RPC o le librerie client Cloud di Cloud Tasks e utilizza un servizio standard App EngineJava 11/17,come destinazione push. Per saperne di più, consulta 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 mettere in coda attività o messaggi che verranno recuperati ed elaborati da worker separati, Pub/Sub può essere una buona alternativa in quanto offre funzionalità e garanzie di distribuzione simili.

Autenticazione degli utenti

Per un'alternativa all'API Users, utilizza uno qualsiasi dei meccanismi di autenticazione basati su HTTP descritti nella pagina Autenticazione utente.