Utilizzo di Cloud Firestore in modalità Datastore

Firestore è un database di documenti NoSQL creato per offrire scalabilità automatica, prestazioni elevate e facilità di sviluppo delle applicazioni. È la versione più recente di Datastore e introduce diversi miglioramenti rispetto a Datastore.

Poiché Firestore in modalità Datastore (Datastore) è ottimizzato per i casi d'uso del server e per App Engine, ti consigliamo di utilizzare la modalità Datastore per i database che verranno utilizzati principalmente dalle app App Engine. Firestore in modalità Native è più utile per i casi d'uso di notifiche mobili e in tempo reale. Per ulteriori informazioni sulle modalità di Firestore, consulta la sezione Scegliere tra la modalità Native e la modalità Datastore.

Utilizzo della modalità Datastore con App Engine

Per utilizzare la modalità Datastore con App Engine:

  1. Se non l'hai ancora fatto, crea un database e scegli Firestore in modalità Datastore.

    Puoi utilizzare i database Datastore esistenti con le app App Engine. Per questi database esistenti verrà eseguito automaticamente l'upgrade a Firestore in modalità Datastore.

    1. Se hai nuove app Python 3, devi utilizzare la libreria client della modalità Datastore per interagire con la modalità Datastore:

      1. Nella tua app, dichiara Datastore come dipendenza aggiungendo google-cloud-datastore al file requirements.txt della tua app. Scopri di più su come specificare le dipendenze.

      2. Utilizza la libreria client di Google Cloud per leggere e scrivere entità e per eseguire query sui dati.

    2. Se prevedi di eseguire l'upgrade della tua app Python 2 a Python 3, Google consiglia di trasferire la tua app Python 2 che utilizza App Engine NDB a Python 3 e poi eseguire la migrazione a Cloud NDB. Per scoprire come accedere ad App Engine NDB in Python 3, consulta la sezione Accesso ai servizi in bundle legacy di App Engine per Python 3.

      Per ulteriori risorse e un esempio di migrazione da un'app Python 2 webapp che utilizza App Engine NDB a un'app Python 3 Flask equivalente con App Engine NDB abilitato, consulta la sezione Servizi inclusi per Python 3.

    Configurazione degli indici

    La modalità Datastore utilizza indici per ogni query eseguita dalla tua applicazione. Gli indici vengono aggiornati ogni volta che un'entità cambia, in modo che i risultati possano essere restituiti rapidamente quando l'app esegue una query.

    La modalità Datastore crea automaticamente indici a singola proprietà da utilizzare con tipi semplici di query. Per le query complesse che includono più proprietà, devi configurare gli indici composti nel file index.yaml della tua app.

    Il server di sviluppo App Engine aggiornerà il file index.yaml con gli indici compositi necessari per eseguire i test. Analogamente, l'emulatore della modalità Datastore può generare indici quando esegui i test.

    Puoi anche aggiungere gli indici al file index.yaml della tua app manualmente se non esegui test locali o se i test non includono query complesse.

    Impostazione delle autorizzazioni del database

    Per impostazione predefinita, la tua app dispone di tutte le autorizzazioni necessarie per leggere e scrivere nei database in modalità Datastore e Firestore nel tuo progettoGoogle Cloud .

    Per gestire queste autorizzazioni, ogni app App Engine utilizza un service account predefinito che concede l'accesso completo in lettura e scrittura ai database in modalità Datastore e Firestore nello stesso progetto dell'app. Puoi modificare le autorizzazioni del service account predefinito, ma la tua app potrebbe perdere l'accesso a meno che tu non assegni un ruolo IAM con le autorizzazioni richieste.

    Per informazioni su come consentire ad altri utenti, app o progetti di accedere a un database, vedi Accesso al database.

    Utilizzo dell'emulatore della modalità Datastore per i test locali

    Google Cloud CLI include un emulatore locale dell'ambiente in modalità Datastore di produzione. Puoi utilizzare l'emulatore per sviluppare e testare la tua applicazione localmente. Inoltre, l'emulatore può aiutarti a generare indici per l'istanza della modalità Datastore di produzione ed eliminare gli indici non necessari.

    Se utilizzi il server di sviluppo locale di App Engine per testare la tua app, puoi assicurarti che il server utilizzi l'emulatore della modalità Datastore impostando il flag --support_datastore_emulator=true all'avvio del server.

    Se utilizzi l'emulatore della modalità Datastore, dev_appserver visualizzerà:

    ... Using Cloud Datastore Emulator.
    

    Prezzi, quote e limiti

    La modalità Datastore offre una quota gratuita con limiti giornalieri. Gli account a pagamento offrono spazio di archiviazione, operazioni di lettura e scrittura illimitati. Per ulteriori informazioni, consulta la pagina Quote Datastore.