Utilizzo di Cloud Firestore in modalità Datastore

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

Poiché Firestore in modalità Datastore è ottimizzato per i casi d'uso dei server e per App Engine, consigliamo di utilizzare Firestore Modalità Datastore per i database che verranno utilizzati principalmente le app di App Engine. Firestore in modalità Native è utile soprattutto casi d'uso relativi a dispositivi mobili e notifiche in tempo reale. Per ulteriori informazioni Per le modalità di Firestore, consulta Scegliere tra la modalità Native e 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 App Engine app. Verrà eseguito l'upgrade automatico di questi database esistenti a Firestore in Datastore .

    1. Nella tua app, dichiara Datastore come dipendenza usando il comando go get cloud.google.com/go/datastore. In alternativa, puoi dichiarare le dipendenze nel file go.mod dell'app. Scopri di più sulla specifica delle dipendenze.

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

    Configurazione degli indici

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

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

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

    Puoi anche aggiungere gli indici alla tabella index.yaml file manualmente se non esegui in locale o i test non includono query complesse.

    Impostazione delle autorizzazioni del database

    Per impostazione predefinita, l'app dispone di tutte le autorizzazioni necessarie per leggere e scrivere su modalità Datastore e database Firestore progetto Google Cloud.

    Per gestire queste autorizzazioni, ogni app di App Engine utilizza un servizio predefinito account. che fornisce accesso completo in lettura e scrittura alla modalità Datastore e Firestore nello stesso progetto dell'app. Puoi modifica le autorizzazioni del servizio predefinito , ma la tua app potrebbe perdere l'accesso se non assegni un ruolo IAM con autorizzazioni richieste.

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

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

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

    Se utilizzi App Engine per lo sviluppo locale server web per testare puoi assicurarti che il server utilizzi la modalità Datastore dell'emulatore impostando il flag --support_datastore_emulator=true all'avvio il server.

    Se utilizzi l'emulatore di modalità Datastore, dev_appserver mostrerà:

    ... Using Cloud Datastore Emulator.
    

    Prezzi, quote e limiti

    La modalità Datastore offre una quota gratuita con limiti giornalieri. A pagamento offrono spazio di archiviazione illimitato, operazioni di lettura e scrittura. Ulteriori informazioni è disponibile nella pagina Quote di Datastore.