Puoi eseguire la migrazione dall'utilizzo del servizio di coda dell'ambiente standard App Engine (code di attività) tramite l'API Task Queue di App Engine all'accesso allo stesso servizio utilizzando Cloud Tasks, una nuova API RPC/REST. Cloud Tasks può essere utilizzato al di fuori dei runtime di prima generazione di App Engine, in particolare da tutti gli ambienti flessibili di App Engine, nonché dai runtime dell'ambiente standard di App Engine di seconda generazione.
Cloud Tasks e l'attuale servizio di coda di attività'ambiente standard di App Engine esistono in un unico universo. Puoi aggiungere elementi alle stesse code tramite entrambe le API. Indipendentemente dal fatto che utilizzi l'SDK App Engine o la nuova API Cloud Tasks, una coda all'interno dell'app inoltra un'attività a un URL del gestore per l'elaborazione asincrona.
Nuove funzionalità
Cloud Tasks fornisce alcune funzionalità non disponibili tramite l'SDK App Engine, tra cui le seguenti:
Gestione delle code tramite l'API:
Puoi creare, eliminare, mettere in pausa ed eseguire altre attività di gestione delle code utilizzando l'API, tramite la console o tramite il comando
gcloud.Comando List Queues:
Puoi elencare tutte le code che hai configurato nel tuo progetto.
Comando List Tasks:
Puoi elencare tutte le attività in una delle tue code.
Integrazione di Identity and Access Management (IAM):
Puoi proteggere l'accesso alle tue code e ai tuoi task in modo molto granulare utilizzando IAM.
Target HTTP
Puoi scegliere come target i gestori in qualsiasi endpoint HTTP con un indirizzo IP pubblico.
Funzionalità di Task Queues non ancora disponibili tramite l'API Cloud Tasks:
-
Puoi utilizzare Cloud Pub/Sub, un prodotto GA, per implementare molti degli stessi casi d'uso delle code pull.
-
Cloud Tasks non supporta l'inserimento in coda di un'attività nell'ambito di una transazione Cloud Datastore, in modo che l'attività venga inserita in coda (e sia garantito che venga inserita in coda) solo se la transazione viene eseguita correttamente.
Attività differite/posticipate:
In alcuni casi in cui potresti aver bisogno di una serie di piccole attività diverse gestite in modo asincrono, ma non vuoi eseguire la configurazione di gestori distinti individuali, l'SDK App Engine ti consente di utilizzare librerie specifiche del runtime per creare semplici funzioni per gestire queste attività. Questa funzionalità non è disponibile in Cloud Tasks. Tieni presente, tuttavia, che le attività normali possono essere pianificate in futuro utilizzando Cloud Tasks.
-
Alcuni runtime che utilizzano l'SDK App Engine hanno API che supportano il multitenancy delle attività tramite lo spazio dei nomi. Questa funzionalità non è disponibile in Cloud Tasks.
-
Il server di sviluppo locale fornito da gcloud CLI o dall'SDK App Engine non supporta gli endpoint simulati per le chiamate API Cloud Tasks.
Aggiunta di attività asincrone:
Gli utenti dell'SDK App Engine possono scegliere di aggiungere attività alle code in modo asincrono. Questa funzionalità non è disponibile in Cloud Tasks.
Per ulteriori informazioni
Guide più dettagliate per la migrazione del codice sono disponibili nel set di documentazione di App Engine Task Queue:
- Migrazione dalle code in modalità pull di Python 2.7 a Pub/Sub
- Migrazione dalle code in modalità push di Python 2.7 a Cloud Tasks
- Migrazione dalle code in modalità pull di Java 8 a Pub/Sub
- Migrazione dalle code in modalità push di Java 8 a Cloud Tasks