Questa guida rapida mostra come configurare Cloud Firestore Enterprise, aggiungere dati, quindi visualizzare i dati appena aggiunti nella console Firebase utilizzando le librerie client server per C#, Go, Java, Node.js, PHP, Python e Ruby.
Utilizza queste librerie client per configurare ambienti server privilegiati con accesso completo al tuo database.
Crea un database Cloud Firestore
Se non l'hai ancora fatto, crea un progetto Firebase: nella console Firebase, fai clic su Aggiungi progetto, poi segui le istruzioni sullo schermo per creare un progetto Firebase o per aggiungere i servizi Firebase a un progetto Google Cloud esistente.
Apri il progetto nella console Firebase. Nel riquadro a sinistra, espandi Build e poi seleziona Database Firestore.
Fai clic su Crea database.
Seleziona una posizione per il tuo database.
Se non riesci a selezionare una località, significa che la "posizione per le risorse Google Cloud predefinite" del progetto è già stata impostata. Alcune risorse del tuo progetto (come l'istanza Cloud Firestore predefinita) condividono una dipendenza di località comune e la loro località può essere impostata durante la creazione del progetto o durante la configurazione di un altro servizio che condivide questa dipendenza di località.
Seleziona una modalità iniziale per Cloud Firestore Security Rules:
- Modalità di test
Ideale per iniziare a utilizzare le librerie client web e mobile, ma consente a chiunque di leggere e sovrascrivere i tuoi dati. Dopo il test, assicurati di esaminare la sezione Proteggere i dati.
Per iniziare a utilizzare l'SDK per il web, le piattaforme Apple o Android, seleziona la modalità di test.
- Modalità di produzione
Nega tutte le operazioni di lettura e scrittura dei client web e su dispositivi mobili. I server delle applicazioni autenticati (C#, Go, Java, Node.js, PHP, Python o Ruby) possono comunque accedere al tuo database.
Per iniziare a utilizzare la libreria client server C#, Go, Java, Node.js, PHP, Python o Ruby, seleziona la modalità di produzione.
Il set iniziale di Cloud Firestore Security Rules verrà applicato al database Cloud Firestore predefinito. Se crei più database per il tuo progetto, puoi eseguire il deployment di Cloud Firestore Security Rules per ogni database.
Fai clic su Crea.
Quando abiliti Cloud Firestore, viene abilitata anche l'API in Cloud API Manager.
Configurazione dell'ambiente di sviluppo
Aggiungi le dipendenze e le librerie client necessarie alla tua app.
Java
- Aggiungi l'SDK Firebase Admin alla tua app:
-
Utilizzo di Gradle:
implementation 'com.google.firebase:firebase-admin:9.7.1'
-
Utilizzo di Maven:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.7.1</version> </dependency>
-
Utilizzo di Gradle:
- Segui le istruzioni riportate di seguito per inizializzare Cloud Firestore con le credenziali corrette nel tuo ambiente.
Python
- Aggiungi l'SDK Firebase Admin alla tua app Python:
pip install --upgrade firebase-admin
- Segui le istruzioni riportate di seguito per inizializzare Cloud Firestore con le credenziali corrette nel tuo ambiente.
Node.js
-
Aggiungi l'SDK Firebase Admin alla tua app:
npm install firebase-admin --save
- Segui le istruzioni riportate di seguito per inizializzare Cloud Firestore con le credenziali corrette nel tuo ambiente.
Vai
- Aggiungi l'SDK Firebase Admin alla tua app Go:
go get firebase.google.com/go
- Segui le istruzioni riportate di seguito per inizializzare Cloud Firestore con le credenziali corrette nel tuo ambiente.
PHP
-
Le librerie client server Cloud Firestore (Java, Node.js, Python, Go, PHP, C# e Ruby) utilizzano le credenziali predefinite dell'applicazione Google per l'autenticazione.
-
Per eseguire l'autenticazione dall'ambiente di sviluppo, imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALSin modo che rimandi a un file della chiave dell'account di servizio JSON. Puoi creare un file della chiave nella pagina Credenziali della console API.export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json" - Nell'ambiente di produzione, non è necessario autenticarsi se esegui l'applicazione su App Engine o Compute Engine, utilizzando lo stesso progetto che utilizzi per Cloud Firestore. In caso contrario, configura un service account.
-
Per eseguire l'autenticazione dall'ambiente di sviluppo, imposta la variabile di ambiente
- Installa e attiva l'estensione gRPC per PHP, che ti servirà per utilizzare la libreria client.
-
Aggiungi la libreria PHP di Cloud Firestore alla tua app:
composer require google/cloud-firestore
Ruby
-
Le librerie client server Cloud Firestore (Java, Node.js, Python, Go, PHP, C# e Ruby) utilizzano le credenziali predefinite dell'applicazione Google per l'autenticazione.
-
Per eseguire l'autenticazione dall'ambiente di sviluppo, imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALSin modo che rimandi a un file della chiave dell'account di servizio JSON. Puoi creare un file della chiave nella pagina Credenziali della console API.export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- Nell'ambiente di produzione, non è necessario autenticarsi se esegui l'applicazione su App Engine o Compute Engine, utilizzando lo stesso progetto che utilizzi per Cloud Firestore. In caso contrario, configura un service account.
-
Per eseguire l'autenticazione dall'ambiente di sviluppo, imposta la variabile di ambiente
-
Aggiungi la libreria Ruby di Cloud Firestore alla tua app in
Gemfile:gem "google-cloud-firestore"
-
Installa le dipendenze da
Gemfileutilizzando:bundle install
(Facoltativo) Crea un prototipo e testalo con Firebase Local Emulator Suite
Per gli sviluppatori di app mobile, prima di parlare di come la tua app scrive e legge da Cloud Firestore, introduciamo un insieme di strumenti che puoi utilizzare per creare prototipi e testare la funzionalità Cloud Firestore: Firebase Local Emulator Suite. Se stai provando diversi modelli di dati, ottimizzando le regole di sicurezza o cercando il modo più conveniente per interagire con il backend, la possibilità di lavorare in locale senza eseguire il deployment di servizi live può essere un'ottima idea.
Un emulatore Cloud Firestore fa parte di Local Emulator Suite, che consente alla tua app di interagire con i contenuti e la configurazione del database emulato, nonché, facoltativamente, con le risorse del progetto emulato (funzioni, altri database e regole di sicurezza).
L'utilizzo dell'emulatore Cloud Firestore prevede pochi passaggi:
- Aggiungendo una riga di codice alla configurazione di test dell'app per connettersi all'emulatore.
- Dalla radice della directory del progetto locale, esegui
firebase emulators:start. - Effettuare chiamate dal codice prototipo dell'app utilizzando un SDK della piattaforma Cloud Firestore come di consueto.
È disponibile una procedura dettagliata che coinvolge Cloud Firestore e Cloud Functions. Dai un'occhiata anche all'introduzione a Local Emulator Suite.
Inizializza Cloud Firestore
Inizializza un'istanza di Cloud Firestore:
Java
L'SDK Cloud Firestore viene inizializzato in modi diversi a seconda dell'ambiente. Di seguito sono riportati i metodi più comuni. Per un riferimento completo, vedi Inizializzare l'SDK Admin.import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use the application default credentials GoogleCredentials credentials = GoogleCredentials.getApplicationDefault(); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .setProjectId(projectId) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();
Per utilizzare l'SDK Firebase Admin sul tuo server, utilizza un service account.
Vai a IAM e amministrazione > Service account nella console Google Cloud. Genera una nuova chiave privata e salva il file JSON. Quindi, utilizza il file per inizializzare l'SDK:
import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use a service account InputStream serviceAccount = new FileInputStream("path/to/serviceAccount.json"); GoogleCredentials credentials = GoogleCredentials.fromStream(serviceAccount); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();
Python
L'SDK Cloud Firestore viene inizializzato in modi diversi a seconda dell'ambiente. Di seguito sono riportati i metodi più comuni. Per un riferimento completo, vedi Inizializzare l'SDK Admin.import firebase_admin from firebase_admin import firestore # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore.client()
Per inizializzare l'SDK può essere utilizzata anche una credenziale predefinita dell'applicazione esistente.
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore.client()
Per utilizzare l'SDK Firebase Admin sul tuo server, utilizza un service account.
Vai a IAM e amministrazione > Service account nella console Google Cloud. Genera una nuova chiave privata e salva il file JSON. Quindi, utilizza il file per inizializzare l'SDK:
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore.client()
Python
L'SDK Cloud Firestore viene inizializzato in modi diversi a seconda dell'ambiente. Di seguito sono riportati i metodi più comuni. Per un riferimento completo, vedi Inizializzare l'SDK Admin.import firebase_admin from firebase_admin import firestore_async # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore_async.client()
Per inizializzare l'SDK può essere utilizzata anche una credenziale predefinita dell'applicazione esistente.
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore_async # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore_async.client()
Per utilizzare l'SDK Firebase Admin sul tuo server, utilizza un service account.
Vai a IAM e amministrazione > Service account nella console Google Cloud. Genera una nuova chiave privata e salva il file JSON. Quindi, utilizza il file per inizializzare l'SDK:
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore_async # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore_async.client()
Node.js
L'SDK Cloud Firestore viene inizializzato in modi diversi a seconda dell'ambiente. Di seguito sono riportati i metodi più comuni. Per un riferimento completo, vedi Inizializzare l'SDK Admin.-
Inizializza il giorno Cloud Functions
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
-
Inizializza il giorno Google Cloud
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp({ credential: applicationDefault() }); const db = getFirestore();
-
Inizializzare sul tuo server
Per utilizzare l'SDK Firebase Admin sul tuo server (o in qualsiasi altro ambiente Node.js), utilizza un service account. Vai a IAM e amministrazione > Service account nella console Google Cloud. Genera una nuova chiave privata e salva il file JSON. Quindi, utilizza il file per inizializzare l'SDK:
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
const serviceAccount = require('./path/to/serviceAccountKey.json'); initializeApp({ credential: cert(serviceAccount) }); const db = getFirestore();
Vai
L'SDK Cloud Firestore viene inizializzato in modi diversi a seconda dell'ambiente. Di seguito sono riportati i metodi più comuni. Per un riferimento completo, vedi Inizializzare l'SDK Admin.import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use the application default credentials ctx := context.Background() conf := &firebase.Config{ProjectID: projectID} app, err := firebase.NewApp(ctx, conf) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
Per utilizzare l'SDK Firebase Admin sul tuo server, utilizza un service account.
Vai a IAM e amministrazione > Service account nella console Google Cloud. Genera una nuova chiave privata e salva il file JSON. Quindi, utilizza il file per inizializzare l'SDK:
import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use a service account ctx := context.Background() sa := option.WithCredentialsFile("path/to/serviceAccount.json") app, err := firebase.NewApp(ctx, nil, sa) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
PHP
PHP
Per saperne di più sull'installazione e la creazione di un client Cloud Firestore, consulta Librerie client Cloud Firestore.
C#
C#
Per saperne di più sull'installazione e la creazione di un client Cloud Firestore, consulta Librerie client Cloud Firestore.
Ruby
Aggiungi dati
Cloud Firestore archivia i dati in documenti, che vengono archiviati in raccolte. Cloud Firestore crea raccolte e documenti in modo implicito la prima volta che aggiungi dati al documento. Non è necessario creare esplicitamente raccolte o documenti.
Crea una nuova raccolta e un nuovo documento utilizzando il seguente codice di esempio.
Java
Python
Python
Node.js
Go
PHP
PHP
Per saperne di più sull'installazione e la creazione di un client Cloud Firestore, consulta Librerie client Cloud Firestore.
C#
Ruby
Ora aggiungi un altro documento alla raccolta users. Tieni presente che questo documento
include una coppia chiave-valore (secondo nome) che non è presente nel primo
documento. I documenti di una raccolta possono contenere diversi set di informazioni.
Java
Python
Python
Node.js
Go
PHP
PHP
Per saperne di più sull'installazione e la creazione di un client Cloud Firestore, consulta Librerie client Cloud Firestore.
C#
Ruby
Lettura di dati
Utilizza il visualizzatore di dati nella Console Firebase per verificare rapidamente di aver aggiunto dati a Cloud Firestore.
Puoi anche utilizzare il metodo "get" per recuperare l'intera raccolta.
Java
Python
users_ref = db.collection("users") docs = users_ref.stream() for doc in docs: print(f"{doc.id} => {doc.to_dict()}")
Python
Node.js
Go
PHP
PHP
Per saperne di più sull'installazione e la creazione di un client Cloud Firestore, consulta Librerie client Cloud Firestore.
C#
Ruby
Passaggi successivi
Approfondisci le tue conoscenze con i seguenti argomenti:
- Modello dei dati: scopri di più su come sono strutturati i dati in Cloud Firestore, inclusi i dati gerarchici e le sottoraccolte.
- Aggiungi dati: scopri di più sulla creazione e sull'aggiornamento dei dati in Cloud Firestore.
- Recupera dati: scopri di più su come recuperare i dati.
- Eseguire query semplici e composte: scopri come eseguire query semplici e composte.
- Query di ordinamento e limitazione: scopri come ordinare e limitare i dati restituiti dalle query.