La maggior parte delle funzionalità fornite dai servizi in bundle precedenti è ora fornita dalle librerie client Cloud per PHP. Per saperne di più, consulta le alternative consigliate elencate di seguito.
Se la migrazione a una soluzione non integrata non è un'opzione per il tuo progetto, potresti continuare a utilizzare i servizi legacy in bundle nelle app PHP 7/8 come riserva. Questo approccio ti offre la flessibilità di passare a servizi non in bundle più avanti nel ciclo di migrazione.
Archivio BLOB
Per archiviare e recuperare i dati, utilizza Cloud Storage tramite le librerie client Cloud. Per iniziare, consulta Utilizzo di Cloud Storage.
Datastore
Puoi utilizzare Firestore in modalità Datastore come alternativa all'API Datastore abbinata al runtime Java 8. Firestore è la versione più recente di Datastore; consigliamo la modalità Datastore per i database che verranno utilizzati principalmente dalle app di App Engine.
Immagini
Puoi pubblicare immagini da Cloud Storage, pubblicarle direttamente o utilizzare una rete CDN (Content Delivery Network) di terze parti.
Per ridimensionare, convertire e manipolare le immagini, usa una libreria di elaborazione di immagini come GD o ImageMagick 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 Immagini ha fornito anche la funzionalità per evitare richieste dinamiche alla tua applicazione gestendo il ridimensionamento delle immagini utilizzando un URL di pubblicazione. Se vuoi utilizzare 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 filtro dei messaggi in base alla gravità e la correlazione dei messaggi dell'app con richieste specifiche. In alternativa, puoi attivare queste funzionalità scrivendo messaggi di log che contengono dati specifici strutturati in un oggetto JSON. Per ulteriori informazioni, consulta la sezione 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 alle API l'invio di email dalle applicazioni.
Memcache
Per memorizzare i dati dell'applicazione nella cache, 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 attuale | Variabile di ambiente GAE_APPLICATION |
ID progetto corrente | 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 API Admin apps.get |
Elenco dei servizi | Metodo API Admin apps.services.list |
Elenco delle versioni di un servizio | Metodo API Admin apps.services.versions.list |
Versione predefinita di un servizio, incluse eventuali suddivisioni del traffico | Metodo API Admin apps.services.get |
Elenco delle istanze in esecuzione per una versione | Metodo API Admin apps.services.versions.instances.list |
Spazi dei nomi
L'API Namespaces ha consentito alle app multi-tenant di partizionare i dati tra i tenant semplicemente specificando una stringa dello spazio dei nomi univoca per ogni tenant.
Mentre Datastore supporta direttamente la multitenancy, gli altri servizi Google Cloud no. Se la tua app multitenant utilizza altri servizi Google Cloud, dovrai gestire manualmente la multitenancy. 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.
Cerca
Ospita qualsiasi database di ricerca a testo intero come Elasticsearch su Compute Engine e accedi dal tuo servizio.
Coda di attività
Metti in coda le attività per l'esecuzione di codice asincrona utilizzando l'API REST Cloud Tasks, l'API RPC o la libreria client di Google Cloud e utilizza un servizio standard PHP 7/8 App Engine come target push. Per ulteriori informazioni, consulta la sezione Migrazione dalle code di attività a Cloud Tasks.
In molti casi in cui potresti utilizzare code in modalità pull, come accodare attività o messaggi che verranno estratti ed elaborati da worker separati, Pub/Sub può essere una buona alternativa perché offre funzionalità e garanzie di distribuzione simili.
Per Java 11/17, consulta il seguente programma di esempio che interagisce con l'API Cloud Tasks.
Autenticazione degli utenti
Per un'alternativa all'API Users, utilizza qualsiasi meccanismo di autenticazione basato su HTTP, ad esempio:
- OAuth 2.0 e OpenID Connect, che forniscono l'identità federata dal provider di tua scelta. Google è un provider di identità OpenID Connect. Sono inoltre disponibili diversi altri provider.
- Firebase Authentication, che fornisce l'autenticazione utilizzando nome utente/password e identità federata mediante Google, Facebook, Twitter e altri.
- Google Identity Platform, che offre molte opzioni per l'autenticazione e l'autorizzazione degli account utente Google.
- Auth0, che fornisce l'autenticazione con vari provider di identità e funzionalità Single Sign-On.