Ten przewodnik Szybki start pokazuje, jak skonfigurować Cloud Firestore w wersji Enterprise, dodać dane, a następnie wyświetlić dodane dane w Firebase konsoli przy użyciu 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 Firebase, utwórz go: w Firebasekonsoli kliknij Dodaj projekt, a potem postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby utworzyć projekt Firebase lub dodać usługi Firebase do istniejącego projektu Google Cloud.
Otwórz projekt w Firebasekonsoli. W panelu po lewej stronie rozwiń Kompilacja, a następnie kliknij Baza danych 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” w Twoim projekcie 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 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 zostanie zastosowany do domyślnej bazy danychCloud Firestore. Jeśli utworzysz wiele baz danych w projekcie, 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.7.1'
-
Korzystanie z Maven:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.7.1</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 pakiet SDK Firebase Admin do aplikacji w Go:
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) do uwierzytelniania używają domyślnych danych logowania aplikacji Google.
-
Aby uwierzytelnić się w środowisku deweloperskim, ustaw zmienną środowiskową
GOOGLE_APPLICATION_CREDENTIALSna plik klucza konta usługi w formacie JSON. 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 deweloperskim, 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
-
Biblioteki klienta serwera Cloud Firestore (Java, Node.js, Python, Go, PHP, C# i Ruby) do uwierzytelniania używają domyślnych danych logowania aplikacji Google.
-
Aby uwierzytelnić się w środowisku deweloperskim, ustaw zmienną środowiskową
GOOGLE_APPLICATION_CREDENTIALSna plik klucza konta usługi w formacie JSON. 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 deweloperskim, ustaw zmienną środowiskową
-
Dodaj bibliotekę Cloud Firestore Ruby do aplikacji w pliku
Gemfile:gem "google-cloud-firestore"
-
Zainstaluj zależności z
Gemfileza pomocą tego polecenia:bundle install
(Opcjonalnie) Tworzenie prototypów i testowanie za pomocą Firebase Local Emulator Suite
Zanim przejdziemy do tego, jak aplikacja dewelopera mobilnego zapisuje dane w Cloud Firestore i je odczytuje, przedstawimy zestaw narzędzi, których możesz używać do tworzenia prototypów i testowania funkcji Cloud Firestore:Firebase Local Emulator Suite Jeśli testujesz różne modele danych, optymalizujesz reguły bezpieczeństwa lub szukasz najbardziej opłacalnego sposobu interakcji z backendem, praca lokalna bez wdrażania usług na żywo może być świetnym rozwiązaniem.
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. - Wykonywanie wywołań z kodu prototypu aplikacji przy użyciu 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.
Zainicjuj 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ę 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ę 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ę 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 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ę 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 FirestoreBiblioteki klienta.
C#
C#
Więcej informacji o instalowaniu i tworzeniu klienta Cloud Firestore znajdziesz w sekcji Cloud FirestoreBiblioteki 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 FirestoreBiblioteki 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 FirestoreBiblioteki 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 FirestoreBiblioteki 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.