Z tego krótkiego wprowadzenia dowiesz się, jak skonfigurować Firestore w wersji Enterprise, dodać dane, a następnie wyświetlić je w konsoli Firebase za pomocą bibliotek klienta serwera w językach C#, Go, Java, Node.js, PHP, Python i Ruby.
Użyj tych bibliotek klienta, aby skonfigurować uprzywilejowane środowiska serwera z pełnym dostępem do bazy danych.
Tworzenie bazy danych Cloud Firestore
Jeśli nie masz jeszcze projektu w Firebase, utwórz go: w konsoli Firebase kliknij Dodaj projekt, a potem postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby utworzyć projekt w Firebase lub dodać usługi Firebase do istniejącego projektu Google Cloud.
W panelu po lewej stronie kliknij Bazy danych i pamięć > Firestore.
Kliknij Utwórz bazę danych.
Wybierz lokalizację bazy danych.
Jeśli nie możesz wybrać lokalizacji, oznacza to, że „lokalizacja domyślnych zasobów Google Cloud” projektu została już ustawiona. Niektóre zasoby projektu (np. domyślna instancjaCloud Firestore) mają wspólne zależności od lokalizacji, a ich lokalizację można ustawić podczas tworzenia projektu lub konfigurowania innej usługi, która ma te same zależności od lokalizacji.
Wybierz tryb początkowy dla Cloud Firestore Security Rules:
- Tryb testowy
Dobre rozwiązanie na początek korzystania z bibliotek klienta mobilnego i internetowego, ale umożliwia odczytywanie i nadpisywanie danych przez dowolną osobę. Po przetestowaniu koniecznie zapoznaj się z sekcją Zabezpieczanie danych.
Aby rozpocząć korzystanie z pakietu SDK na potrzeby internetu, platform Apple lub Androida, wybierz tryb testowy.
- Tryb produkcji
Odrzuca wszystkie odczyty i zapisy klientów mobilnych oraz internetowych. Uwierzytelnione serwery aplikacji (C#, Go, Java, Node.js, PHP, Python lub Ruby) nadal mogą uzyskiwać dostęp do bazy danych.
Aby rozpocząć korzystanie z biblioteki klienta serwera w języku C#, Go, Java, Node.js, PHP, Python lub Ruby, wybierz tryb produkcyjny.
Początkowy zestaw Cloud Firestore Security Rules będzie miał zastosowanie do domyślnej bazy danychCloud Firestore. Jeśli utworzysz wiele baz danych dla projektu, możesz wdrożyć Cloud Firestore Security Rules dla każdej z nich.
Kliknij Utwórz.
Gdy włączysz Cloud Firestore, włączy się też interfejs API w Cloud API Manager.
Konfigurowanie środowiska programistycznego
Dodaj do aplikacji wymagane zależności i biblioteki klienta.
Java
- Dodaj do aplikacji pakiet Firebase Admin SDK:
-
Korzystanie z Gradle:
implementation 'com.google.firebase:firebase-admin:9.9.0'
-
Korzystanie z Maven:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.9.0</version> </dependency>
-
Korzystanie z Gradle:
- Aby zainicjować Cloud Firestore za pomocą odpowiednich danych logowania w swoim środowisku, wykonaj podane niżej instrukcje.
Python
- Dodaj pakiet Firebase Admin SDK do aplikacji w Pythonie:
pip install --upgrade firebase-admin
- Aby zainicjować Cloud Firestore za pomocą odpowiednich danych logowania w swoim środowisku, wykonaj podane niżej instrukcje.
Node.js
-
Dodaj do aplikacji pakiet Firebase Admin SDK:
npm install firebase-admin --save
- Aby zainicjować Cloud Firestore za pomocą odpowiednich danych logowania w swoim środowisku, wykonaj podane niżej instrukcje.
Go
- Dodaj do aplikacji w Go pakiet Firebase Admin SDK:
go get firebase.google.com/go
- Aby zainicjować Cloud Firestore za pomocą odpowiednich danych logowania w swoim środowisku, wykonaj podane niżej instrukcje.
PHP
-
Biblioteki klienta serwera Cloud Firestore (Java, Node.js, Python, Go, PHP, C# i Ruby) używają do uwierzytelniania domyślnego uwierzytelniania aplikacji Google.
-
Aby uwierzytelnić się w środowisku programistycznym, ustaw zmienną środowiskową
GOOGLE_APPLICATION_CREDENTIALStak, aby wskazywała plik JSON z kluczem konta usługi. Plik klucza możesz utworzyć na stronie Dane logowania w konsoli interfejsów API.export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json" - W środowisku produkcyjnym nie musisz się uwierzytelniać, jeśli uruchamiasz aplikację w App Engine lub Compute Engine w tym samym projekcie, którego używasz w Cloud Firestore. W przeciwnym razie skonfiguruj konto usługi.
-
Aby uwierzytelnić się w środowisku programistycznym, ustaw zmienną środowiskową
- Zainstaluj i włącz rozszerzenie gRPC dla PHP, które jest potrzebne do korzystania z biblioteki klienta.
-
Dodaj do aplikacji bibliotekę PHP Cloud Firestore:
composer require google/cloud-firestore
Ruby
-
Cloud Firestore Biblioteki klienta serwera (Java, Node.js, Python, Go, PHP, C# i Ruby) używają do uwierzytelniania domyślnego uwierzytelniania aplikacji Google.
-
Aby uwierzytelnić się w środowisku programistycznym, ustaw zmienną środowiskową
GOOGLE_APPLICATION_CREDENTIALStak, aby wskazywała plik JSON z kluczem konta usługi. Plik klucza możesz utworzyć na stronie Dane logowania w konsoli interfejsów API.export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- W środowisku produkcyjnym nie musisz się uwierzytelniać, jeśli uruchamiasz aplikację w App Engine lub Compute Engine w tym samym projekcie, którego używasz w Cloud Firestore. W przeciwnym razie skonfiguruj konto usługi.
-
Aby uwierzytelnić się w środowisku programistycznym, ustaw zmienną środowiskową
-
Dodaj bibliotekę Cloud Firestore Ruby do aplikacji w pliku
Gemfile:gem "google-cloud-firestore"
-
Zainstaluj zależności z
Gemfileza pomocą:bundle install
(Opcjonalnie) Tworzenie prototypów i testowanie za pomocą Firebase Local Emulator Suite
Zanim omówimy, jak aplikacja dewelopera mobilnego zapisuje dane w Cloud Firestore i je odczytuje, przedstawimy zestaw narzędzi, których możesz używać do prototypowania i testowania funkcji Cloud Firestore:Firebase Local Emulator Suite Jeśli testujesz różne modele danych, optymalizujesz reguły zabezpieczeń lub szukasz najbardziej opłacalnego sposobu interakcji z backendem, praca lokalna bez wdrażania usług na żywo może być świetnym pomysłem.
Cloud Firestore Emulator jest częścią Local Emulator Suite, która umożliwia aplikacji interakcję z emulowaną zawartością bazy danych i konfiguracją, a także opcjonalnie z emulowanymi zasobami projektu (funkcjami, innymi bazami danych i regułami zabezpieczeń).
Korzystanie z Cloud Firestore emulatora wymaga wykonania tylko kilku czynności:
- Dodanie do konfiguracji testowej aplikacji wiersza kodu, który połączy ją z emulatorem.
- z katalogu głównego projektu lokalnego, uruchamiając
firebase emulators:start. - Wykonuj wywołania z kodu prototypu aplikacji za pomocą pakietu SDK platformy Cloud Firestore w zwykły sposób.
Dostępny jest szczegółowy przewodnik dotyczący Cloud Firestore i Cloud Functions. Zapoznaj się też z Local Emulator Suite wprowadzeniem.
Inicjowanie Cloud Firestore
Zainicjuj instancję Cloud Firestore:
Java
Cloud Firestore Pakiet SDK jest inicjowany na różne sposoby w zależności od środowiska. Poniżej znajdziesz najpopularniejsze metody. Pełne informacje znajdziesz w artykule Inicjowanie pakietu Admin SDK.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();
Aby używać pakietu Firebase Admin SDK na własnym serwerze, użyj konta usługi.
W konsoli Google Cloud otwórz stronę Uprawnienia i administracja > Konta usługi. Wygeneruj nowy klucz prywatny i zapisz plik JSON. Następnie użyj tego pliku do zainicjowania pakietu 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
Cloud Firestore Pakiet SDK jest inicjowany na różne sposoby w zależności od środowiska. Poniżej znajdziesz najpopularniejsze metody. Pełne informacje znajdziesz w artykule Inicjowanie pakietu Admin SDK.import firebase_admin from firebase_admin import firestore # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore.client()
Do zainicjowania pakietu SDK można też użyć istniejącego domyślnego uwierzytelniania aplikacji.
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()
Aby używać pakietu Firebase Admin SDK na własnym serwerze, użyj konta usługi.
W konsoli Google Cloud otwórz stronę Uprawnienia i administracja > Konta usługi. Wygeneruj nowy klucz prywatny i zapisz plik JSON. Następnie użyj tego pliku do zainicjowania pakietu 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
Cloud Firestore Pakiet SDK jest inicjowany na różne sposoby w zależności od środowiska. Poniżej znajdziesz najpopularniejsze metody. Pełne informacje znajdziesz w artykule Inicjowanie pakietu Admin SDK.import firebase_admin from firebase_admin import firestore_async # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore_async.client()
Do zainicjowania pakietu SDK można też użyć istniejącego domyślnego uwierzytelniania aplikacji.
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()
Aby używać pakietu Firebase Admin SDK na własnym serwerze, użyj konta usługi.
W konsoli Google Cloud otwórz stronę Uprawnienia i administracja > Konta usługi. Wygeneruj nowy klucz prywatny i zapisz plik JSON. Następnie użyj tego pliku do zainicjowania pakietu 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
Cloud Firestore Pakiet SDK jest inicjowany na różne sposoby w zależności od środowiska. Poniżej znajdziesz najpopularniejsze metody. Pełne informacje znajdziesz w artykule Inicjowanie pakietu Admin SDK.-
Zainicjuj Cloud Functions
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
-
Zainicjuj 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();
-
Inicjowanie na własnym serwerze
Aby używać pakietu Firebase Admin SDK na własnym serwerze (lub w dowolnym innym środowisku Node.js), użyj konta usługi. W konsoli Google Cloud otwórz Uprawnienia i administracja > Konta usługi. Wygeneruj nowy klucz prywatny i zapisz plik JSON. Następnie użyj tego pliku do zainicjowania pakietu 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();
Go
Cloud Firestore Pakiet SDK jest inicjowany na różne sposoby w zależności od środowiska. Poniżej znajdziesz najpopularniejsze metody. Pełne informacje znajdziesz w artykule Inicjowanie pakietu Admin SDK.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()
Aby używać pakietu Firebase Admin SDK na własnym serwerze, użyj konta usługi.
W konsoli Google Cloud otwórz stronę Uprawnienia i administracja > Konta usługi. Wygeneruj nowy klucz prywatny i zapisz plik JSON. Następnie użyj tego pliku do zainicjowania pakietu 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
Więcej informacji o instalowaniu i tworzeniu klienta Cloud Firestore znajdziesz w sekcji Cloud Firestore Biblioteki klienta.
C#
C#
Więcej informacji o instalowaniu i tworzeniu klienta Cloud Firestore znajdziesz w sekcji Cloud Firestore Biblioteki klienta.
Ruby
Dodaj dane
Cloud Firestore przechowuje dane w dokumentach, które są przechowywane w kolekcjach. Cloud Firestore tworzy kolekcje i dokumenty niejawnie przy pierwszym dodaniu danych do dokumentu. Nie musisz jawnie tworzyć kolekcji ani dokumentów.
Utwórz nową kolekcję i dokument, korzystając z tego przykładowego kodu.
Java
Python
Python
Node.js
Go
PHP
PHP
Więcej informacji o instalowaniu i tworzeniu klienta Cloud Firestore znajdziesz w sekcji Cloud Firestore Biblioteki klienta.
C#
Ruby
Teraz dodaj kolejny dokument do kolekcji users. Zwróć uwagę, że ten dokument zawiera parę klucz-wartość (drugie imię), która nie występuje w pierwszym dokumencie. Dokumenty w kolekcji mogą zawierać różne zestawy informacji.
Java
Python
Python
Node.js
Go
PHP
PHP
Więcej informacji o instalowaniu i tworzeniu klienta Cloud Firestore znajdziesz w sekcji Cloud Firestore Biblioteki klienta.
C#
Ruby
Odczytywanie danych
Za pomocą przeglądarki danych w konsoli Firebase możesz szybko sprawdzić, czy dane zostały dodane do Cloud Firestore.
Możesz też użyć metody „get”, aby pobrać całą kolekcję.
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
Więcej informacji o instalowaniu i tworzeniu klienta Cloud Firestore znajdziesz w sekcji Cloud Firestore Biblioteki klienta.
C#
Ruby
Dalsze kroki
Poszerz swoją wiedzę w tych obszarach:
- Model danych – dowiedz się więcej o tym, jak dane są strukturyzowane w Cloud Firestore, w tym o danych hierarchicznych i podzbiorach.
- Dodawanie danych – dowiedz się więcej o tworzeniu i aktualizowaniu danych w Cloud Firestore.
- Pobieranie danych – dowiedz się więcej o pobieraniu danych.
- Wykonywanie prostych i złożonych zapytań – dowiedz się, jak uruchamiać proste i złożone zapytania.
- Porządkowanie i ograniczanie zapytań Dowiedz się, jak porządkować i ograniczać dane zwracane przez zapytania.