Questa guida rapida mostra come configurare Cloud Firestore, aggiungere dati e poi utilizzare le operazioni di base o le operazioni della pipeline per eseguire query sui dati appena aggiunti nella console Firebase utilizzando le librerie client server per Java, Node.js e Python.
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 Enterprise per la modalità database.
Seleziona Firestore in modalità nativa per la modalità di funzionamento, che supporta le operazioni Core e Pipeline.
Seleziona una posizione per il tuo database.
Seleziona una modalità iniziale per Cloud Firestore Security Rules:
- Modalità di prova
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 tuoi server delle applicazioni autenticati (Node.js, Python, Java) possono comunque accedere al tuo database.
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.
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.
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.
Java
- Aggiungi l'SDK Admin Firebase 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.
Inizializza Cloud Firestore
Inizializza un'istanza di Cloud Firestore:
Node.js
L'SDK Cloud Firestore viene inizializzato in modi diversi a seconda del tuo 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();
Python
L'SDK Cloud Firestore viene inizializzato in modi diversi a seconda del tuo 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()
Java
L'SDK Cloud Firestore viene inizializzato in modi diversi a seconda del tuo 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();
Aggiungere dati utilizzando le operazioni principali
Per esplorare le operazioni di base e le operazioni della pipeline per eseguire query sui dati, aggiungi dati al database utilizzando le operazioni di base.
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.
Node.js
Java
Python
Lettura dei dati utilizzando le operazioni Core
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.
Node.js
Python
users_ref = db.collection("users") docs = users_ref.stream() for doc in docs: print(f"{doc.id} => {doc.to_dict()}")
Java
Lettura dei dati utilizzando le operazioni della pipeline
Ora puoi confrontare l'esperienza di query della pipeline con l'esperienza di query principale.
Node.js
const readDataPipeline = db.pipeline() .collection("users"); // Execute the pipeline and handle the result try { const querySnapshot = await readDataPipeline.execute(); querySnapshot.results.forEach((result) => { console.log(`${result.id} => ${result.data()}`); }); } catch (error) { console.error("Error getting documents: ", error); }
Python
pipeline = client.pipeline().collection("users") for result in pipeline.execute(): print(f"{result.id} => {result.data()}")
Java
Pipeline pipeline = firestore.pipeline().collection("users"); ApiFuture<Pipeline.Snapshot> future = pipeline.execute(); for (com.google.cloud.firestore.PipelineResult result : future.get().getResults()) { System.out.println(result.getId() + " => " + result.getData()); } // or, asynchronously pipeline.execute( new ApiStreamObserver<com.google.cloud.firestore.PipelineResult>() { @Override public void onNext(com.google.cloud.firestore.PipelineResult result) { System.out.println(result.getId() + " => " + result.getData()); } @Override public void onError(Throwable t) { System.err.println(t); } @Override public void onCompleted() { System.out.println("done"); } });
Passaggi successivi
Approfondisci le tue conoscenze sulle operazioni di Core e Pipeline con i seguenti argomenti:
- Assicurati di conoscere le differenze tra le operazioni principali e quelle della pipeline.
- Scopri di più sulle query con le operazioni principali
- Scopri di più sulle query con le operazioni della pipeline.