La maggior parte delle funzionalità fornite dai servizi in bundle precedenti è 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 soluzione alternativa. Questo approccio ti offre la flessibilità di passare a servizi scomposti più avanti nel ciclo di migrazione.
Dopo aver eseguito la migrazione dai servizi integrati precedenti, 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 di confronto tra App Engine e Cloud Run.
Percorsi di migrazione per i servizi integrati di App Engine
Archivio BLOB
Per archiviare e recuperare i dati, utilizza Cloud Storage tramite le librerie client di Cloud. Per iniziare, consulta la sezione 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 Cloud per Datastore.
Immagini
Puoi pubblicare le immagini da Cloud Storage, pubblicarle direttamente o utilizzare una rete CDN (Content Delivery Network) 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, aggiungila come dipendenza e aggiorna il codice in modo da chiamare le API della libreria.
Il servizio App Engine Images forniva anche la 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 su Cloud Storage per la pubblicazione. In alternativa, puoi utilizzare un servizio di rete CDN (Content Delivery Network) di terze parti che offra il ridimensionamento delle immagini.
Logging
Ti consigliamo di aggiornare l'app in modo da 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 ulteriori informazioni, consulta Scrittura e visualizzazione dei log.
Posta
Per inviare email, utilizza un provider di posta di terze parti come SendGrid, Mailgun o Mailjet. Tutti questi servizi offrono API per inviare email dalle applicazioni. Al momento non è disponibile un'alternativa di terze parti consigliata per i messaggi in entrata.
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 attuale | Variabile di ambiente GOOGLE_CLOUD_PROJECT |
Nome 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 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 per un servizio, incluse eventuali suddivisioni del traffico | Metodo apps.services.get dell'API Admin |
Elenco di istanze in esecuzione per una versione | Metodo apps.services.versions.instances.list dell'API Admin |
Per ulteriori informazioni sui dati disponibili sui servizi in esecuzione della tua applicazione, consulta Java 11/17 ambiente di runtime.
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.
Sebbene Datastore supporti direttamente la multitenancy, altri servizi Google Cloud non lo fanno. Se la tua app multitenant utilizza altri servizi Google Cloud, dovrai gestire il 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 di più 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.
Cerca
Ospita qualsiasi database di ricerca a testo intero, come Elasticsearch, su Compute Engine e accedevi dal tuo servizio.
Coda di attività
Inserisci in coda le attività per l'esecuzione di codice asincrono utilizzando l'API REST Cloud Tasks, l'API RPC o le librerie client Cloud e utilizza un servizio standard App EngineJava 11/17come target push. Per ulteriori informazioni, consulta la pagina 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 code pull, ad esempio per mettere in coda attività o messaggi che verranno estratti ed elaborati da worker separati, Pub/Sub può essere una buona alternativa in quanto offre funzionalità simili e garantisce l'invio.
Autenticazione degli utenti
Per un'alternativa all'API Users, utilizza uno dei meccanismi di autenticazione basati su HTTP descritti nella pagina Autenticazione utente.