In dieser Kurzanleitung erfahren Sie, wie Sie die Firestore Enterprise-Version einrichten, Daten hinzufügen und die gerade hinzugefügten Daten in der Firebase Console mit Server-Clientbibliotheken für C#, Go, Java, Node.js, PHP, Python und Ruby ansehen.
Verwenden Sie diese Clientbibliotheken, um privilegierte Serverumgebungen mit vollem Zugriff auf Ihre Datenbank einzurichten.
Cloud Firestore-Datenbank erstellen
Falls noch nicht geschehen, erstellen Sie ein Firebase-Projekt: Klicken Sie in der Firebase Console auf Projekt hinzufügen und folgen Sie der Anleitung auf dem Bildschirm, um ein Firebase-Projekt zu erstellen oder Firebase-Dienste zu einem vorhandenen Google Cloud-Projekt hinzuzufügen.
Gehen Sie im linken Bereich zu Datenbanken und Speicher > Firestore.
Klicken Sie auf Datenbank erstellen.
Wählen Sie einen Speicherort für Ihre Datenbank aus.
Wenn Sie keinen Standort auswählen können, wurde der Standort für Standard-Google Cloud-Ressourcen Ihres Projekts bereits festgelegt. Einige Ressourcen Ihres Projekts (z. B. die Standardinstanz Cloud Firestore) haben eine gemeinsame Standortabhängigkeit. Ihr Standort kann entweder beim Erstellen des Projekts oder beim Einrichten eines anderen Dienstes festgelegt werden, der diese Standortabhängigkeit teilt.
Wähle einen Startmodus für dein Cloud Firestore Security Rules aus:
- Testmodus
Gut für den Einstieg in die mobilen und Web-Clientbibliotheken, aber jeder kann Ihre Daten lesen und überschreiben. Lesen Sie nach dem Testen den Abschnitt Daten schützen.
Wählen Sie den Testmodus aus, um mit dem Web-, Apple-Plattform- oder Android-SDK zu beginnen.
- Produktionsmodus
Verweigert alle Lese- und Schreibvorgänge von Mobil- und Webclients. Ihre authentifizierten Anwendungsserver (C#, Go, Java, Node.js, PHP, Python oder Ruby) können weiterhin auf Ihre Datenbank zugreifen.
Wählen Sie den Produktionsmodus aus, um mit der Server-Clientbibliothek für C#, Go, Java, Node.js, PHP, Python oder Ruby zu beginnen.
Ihre anfänglichen Cloud Firestore Security Rules gelten für Ihre Standarddatenbank Cloud Firestore. Wenn Sie mehrere Datenbanken für Ihr Projekt erstellen, können Sie Cloud Firestore Security Rules für jede Datenbank bereitstellen.
Klicken Sie auf Erstellen.
Wenn Sie Cloud Firestore aktivieren, wird die API auch im Cloud API Manager aktiviert.
Entwicklungsumgebung einrichten
Fügen Sie Ihrer Anwendung die erforderlichen Abhängigkeiten und Clientbibliotheken hinzu.
Java
- Fügen Sie Ihrer App das Firebase Admin SDK hinzu:
- Mit Gradle:
implementation 'com.google.firebase:firebase-admin:9.11.0'
-
Mit Maven:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.11.0</version> </dependency>
- Mit Gradle:
- Folgen Sie der Anleitung unten, um Cloud Firestore mit den richtigen Anmeldedaten in Ihrer Umgebung zu initialisieren.
Python
- Fügen Sie Ihrer Python-Anwendung das Firebase Admin SDK hinzu:
pip install --upgrade firebase-admin
- Folgen Sie der Anleitung unten, um Cloud Firestore mit den richtigen Anmeldedaten in Ihrer Umgebung zu initialisieren.
Node.js
-
Fügen Sie Ihrer App das Firebase Admin SDK hinzu:
npm install firebase-admin --save
- Folgen Sie der Anleitung unten, um Cloud Firestore mit den richtigen Anmeldedaten in Ihrer Umgebung zu initialisieren.
Go
- Fügen Sie Ihrer Go-Anwendung das Firebase Admin SDK hinzu:
go get firebase.google.com/go
- Folgen Sie der Anleitung unten, um Cloud Firestore mit den richtigen Anmeldedaten in Ihrer Umgebung zu initialisieren.
PHP
-
Die Cloud Firestore-Server-Clientbibliotheken (Java, Node.js, Python, Go, PHP, C# und Ruby) verwenden Google-Standardanmeldedaten für Anwendungen zur Authentifizierung.
-
Wenn Sie sich über Ihre Entwicklungsumgebung authentifizieren möchten, legen Sie die Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALSso fest, dass sie auf eine JSON-Dienstkontoschlüsseldatei verweist. Sie können eine Schlüsseldatei auf der Seite „Anmeldedaten“ der API Console erstellen.export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json" - In Ihrer Produktionsumgebung müssen Sie sich nicht authentifizieren, wenn Sie Ihre Anwendung in App Engine oder Compute Engine ausführen und dabei dasselbe Projekt verwenden, das Sie für Cloud Firestore verwenden. Andernfalls richten Sie ein Dienstkonto ein.
-
Wenn Sie sich über Ihre Entwicklungsumgebung authentifizieren möchten, legen Sie die Umgebungsvariable
- Installieren und aktivieren Sie die gRPC-Erweiterung für PHP. Diese benötigen Sie für die Nutzung der Clientbibliothek.
- Fügen Sie Ihrer Anwendung die Cloud Firestore-PHP-Bibliothek hinzu:
composer require google/cloud-firestore
Ruby
-
Die Cloud Firestore-Server-Clientbibliotheken (Java, Node.js, Python, Go, PHP, C# und Ruby) verwenden Google-Standardanmeldedaten für Anwendungen zur Authentifizierung.
-
Wenn Sie sich über Ihre Entwicklungsumgebung authentifizieren möchten, legen Sie die Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALSso fest, dass sie auf eine JSON-Dienstkontoschlüsseldatei verweist. Sie können eine Schlüsseldatei auf der Seite „Anmeldedaten“ der API Console erstellen.export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- In Ihrer Produktionsumgebung müssen Sie sich nicht authentifizieren, wenn Sie Ihre Anwendung in App Engine oder Compute Engine ausführen und dabei dasselbe Projekt verwenden, das Sie für Cloud Firestore verwenden. Andernfalls richten Sie ein Dienstkonto ein.
-
Wenn Sie sich über Ihre Entwicklungsumgebung authentifizieren möchten, legen Sie die Umgebungsvariable
- Fügen Sie Ihrer Anwendung in der
Gemfiledie Cloud Firestore Ruby-Bibliothek hinzu:gem "google-cloud-firestore"
- Installieren Sie Abhängigkeiten aus der
Gemfile-Datei mit folgendem Befehl:bundle install
(Optional) Prototypen erstellen und mit Firebase Local Emulator Suite testen
Bevor wir uns damit beschäftigen, wie Ihre App Daten in Cloud Firestore schreibt und daraus liest, möchten wir Ihnen eine Reihe von Tools vorstellen, mit denen Sie Cloud Firestore-Funktionen prototypisieren und testen können: Firebase Local Emulator Suite. Wenn Sie verschiedene Datenmodelle ausprobieren, Ihre Sicherheitsregeln optimieren oder nach der kostengünstigsten Möglichkeit suchen, mit dem Backend zu interagieren, kann es eine gute Idee sein, lokal zu arbeiten, ohne Live-Dienste bereitzustellen.
Ein Cloud Firestore-Emulator ist Teil der Local Emulator Suite. Damit kann Ihre App mit Ihren emulierten Datenbankinhalten und ‑konfigurationen sowie optional mit Ihren emulierten Projektressourcen (Funktionen, andere Datenbanken und Sicherheitsregeln) interagieren.
Die Verwendung des Cloud Firestore-Emulators umfasst nur wenige Schritte:
- Fügen Sie der Testkonfiguration Ihrer App eine Codezeile hinzu, um eine Verbindung zum Emulator herzustellen.
- Führen Sie im Stammverzeichnis Ihres lokalen Projektverzeichnisses
firebase emulators:startaus. - Aufrufe aus dem Prototypcode Ihrer App mit einem Cloud Firestore-Plattform-SDK wie gewohnt ausführen.
Eine detaillierte Anleitung mit Cloud Firestore und Cloud Functions ist verfügbar. Sehen Sie sich auch die Einführung in Local Emulator Suite an.
Cloud Firestore initialisieren
Initialisieren Sie eine Instanz von Cloud Firestore:
Java
Das Cloud Firestore SDK wird je nach Umgebung auf unterschiedliche Weise initialisiert. Nachfolgend finden Sie die gängigsten Methoden. Eine vollständige Referenz finden Sie unter Admin SDK initialisieren.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();
Wenn Sie das Firebase Admin SDK auf Ihrem eigenen Server verwenden möchten, verwenden Sie ein Dienstkonto.
Rufen Sie in der Google Cloud Console IAM und Verwaltung > Dienstkonten auf. Generieren Sie einen neuen privaten Schlüssel und speichern Sie die JSON-Datei. Verwenden Sie dann die Datei, um das SDK zu initialisieren:
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
Das Cloud Firestore SDK wird je nach Umgebung auf unterschiedliche Weise initialisiert. Nachfolgend sind die gängigsten Methoden aufgeführt. Eine vollständige Referenz finden Sie unter Admin SDK initialisieren.import firebase_admin from firebase_admin import firestore # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore.client()
Zum Initialisieren des SDK können auch vorhandene Standardanmeldedaten für Anwendungen verwendet werden.
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()
Wenn Sie das Firebase Admin SDK auf Ihrem eigenen Server verwenden möchten, verwenden Sie ein Dienstkonto.
Rufen Sie in der Google Cloud Console IAM und Verwaltung > Dienstkonten auf. Generieren Sie einen neuen privaten Schlüssel und speichern Sie die JSON-Datei. Verwenden Sie dann die Datei, um das SDK zu initialisieren:
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
Das Cloud Firestore SDK wird je nach Umgebung auf unterschiedliche Weise initialisiert. Nachfolgend finden Sie die gängigsten Methoden. Eine vollständige Referenz finden Sie unter Admin SDK initialisieren.import firebase_admin from firebase_admin import firestore_async # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore_async.client()
Zum Initialisieren des SDK können auch vorhandene Standardanmeldedaten für Anwendungen verwendet werden.
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()
Wenn Sie das Firebase Admin SDK auf Ihrem eigenen Server verwenden möchten, verwenden Sie ein Dienstkonto.
Rufen Sie in der Google Cloud Console IAM und Verwaltung > Dienstkonten auf. Generieren Sie einen neuen privaten Schlüssel und speichern Sie die JSON-Datei. Verwenden Sie dann die Datei, um das SDK zu initialisieren:
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
Das Cloud Firestore SDK wird je nach Umgebung auf unterschiedliche Weise initialisiert. Nachfolgend finden Sie die gängigsten Methoden. Eine vollständige Referenz finden Sie unter Admin SDK initialisieren.-
Am Cloud Functions initialisieren
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
-
Am Google Cloud initialisieren
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp({ credential: applicationDefault() }); const db = getFirestore();
-
Auf dem eigenen Server initialisieren
Wenn Sie das Firebase Admin SDK auf Ihrem eigenen Server (oder in einer anderen Node.js-Umgebung) verwenden möchten, verwenden Sie ein Dienstkonto. Rufen Sie in der Google Cloud Console IAM und Verwaltung > Dienstkonten auf. Generieren Sie einen neuen privaten Schlüssel und speichern Sie die JSON-Datei. Verwenden Sie dann die Datei, um das SDK zu initialisieren:
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();
Go
Das Cloud Firestore SDK wird je nach Umgebung auf unterschiedliche Weise initialisiert. Nachfolgend finden Sie die gängigsten Methoden. Eine vollständige Referenz finden Sie unter Admin SDK initialisieren.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()
Wenn Sie das Firebase Admin SDK auf Ihrem eigenen Server verwenden möchten, verwenden Sie ein Dienstkonto.
Rufen Sie in der Google Cloud Console IAM und Verwaltung > Dienstkonten auf. Generieren Sie einen neuen privaten Schlüssel und speichern Sie die JSON-Datei. Verwenden Sie dann die Datei, um das SDK zu initialisieren:
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
Weitere Informationen zum Installieren und Erstellen eines Cloud Firestore-Clients finden Sie unter Cloud Firestore-Clientbibliotheken.
C#
C#
Weitere Informationen zum Installieren und Erstellen eines Cloud Firestore-Clients finden Sie unter Cloud Firestore-Clientbibliotheken.
Ruby
Daten hinzufügen
Cloud Firestore speichert Daten in Dokumenten, die in Sammlungen gespeichert werden. Cloud Firestore erstellt Sammlungen und Dokumente implizit, wenn Sie dem Dokument zum ersten Mal Daten hinzufügen. Sie müssen Sammlungen oder Dokumente nicht explizit erstellen.
Mit dem folgenden Beispielcode können Sie eine neue Sammlung und ein Dokument erstellen.
Java
Python
Python
Node.js
Go
PHP
PHP
Weitere Informationen zum Installieren und Erstellen eines Cloud Firestore-Clients finden Sie unter Cloud Firestore-Clientbibliotheken.
C#
Ruby
Fügen Sie jetzt der Sammlung users ein weiteres Dokument hinzu. Beachten Sie, dass dieses Dokument ein Schlüssel/Wert-Paar (zweiter Vorname) enthält, das im ersten Dokument nicht auftaucht. Dokumente in einer Sammlung können unterschiedliche Informationen enthalten.
Java
Python
Python
Node.js
Go
PHP
PHP
Weitere Informationen zum Installieren und Erstellen eines Cloud Firestore-Clients finden Sie unter Cloud Firestore-Clientbibliotheken.
C#
Ruby
Daten lesen
Mit dem Daten-Viewer in der Firebase Console können Sie schnell prüfen, ob Sie Daten zu Cloud Firestore hinzugefügt haben.
Sie können auch die Methode „get“ verwenden, um die gesamte Sammlung abzurufen.
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
Weitere Informationen zum Installieren und Erstellen eines Cloud Firestore-Clients finden Sie unter Cloud Firestore-Clientbibliotheken.
C#
Ruby
Weitere Informationen
Vertiefen Sie Ihr Wissen mit folgenden Themen:
- Datenmodell: Hier erfahren Sie mehr darüber, wie Daten in Cloud Firestore strukturiert sind, einschließlich hierarchischer Daten und Untersammlungen.
- Daten hinzufügen: Weitere Informationen zum Erstellen und Aktualisieren von Daten in Cloud Firestore.
- Daten abrufen – Erfahren Sie mehr über das Abrufen von Daten.
- Einfache und komplexe Abfragen ausführen — Erfahren Sie, wie Sie einfache und komplexe Abfragen ausführen.
- Abfragen sortieren und begrenzen: Hier erfahren Sie, wie Sie die von Ihren Abfragen zurückgegebenen Daten sortieren und begrenzen.