In dieser Kurzanleitung erfahren Sie, wie Sie Firebase Data Connect in Ihre Anwendung einbinden.
- Fügen Sie Firebase Data Connect zu Ihrem Firebase-Projekt hinzu.
- Richten Sie eine Entwicklungsumgebung mit einer Visual Studio Code-Erweiterung ein, die mit einer Produktionsinstanz funktioniert.
- Anschließend erfahren Sie, wie Sie:
- Ein Schema für eine Filmrezensions-App erstellen und in der Produktion bereitstellen
- Definieren Sie Abfragen und Mutationen für Ihr Schema.
- Stark typisierte SDKs generieren und in Ihrer App verwenden
- Stellen Sie das endgültige Schema, die Abfrage und die Daten für die Produktion bereit.
Vorbereitung
Für die Verwendung dieser Kurzanleitung in Ihrer lokalen Umgebung benötigen Sie Folgendes:
- Linux, macOS oder Windows
- Visual Studio Code
Verbindung zum Firebase-Projekt herstellen
- Erstellen Sie ein Firebase-Projekt, falls noch nicht geschehen.
- Klicken Sie in der Firebase-Konsole auf Projekt hinzufügen und folgen Sie dann der Anleitung auf dem Bildschirm.
- Zum Abschnitt Data Connect der Firebase-Konsole gehen und folgen dem Workflow zur Produkteinrichtung.
Führen Sie für Ihr Projekt ein Upgrade auf den Tarif „Blaze“ durch. So können Sie eine Cloud SQL-Instanz für PostgreSQL-Instanz.
Wählen Sie einen Speicherort für Ihre Cloud SQL for PostgreSQL-Datenbank aus.
Notieren Sie sich zur späteren Bestätigung die Projekt-, Dienst- und Datenbanknamen und IDs.
Folgen Sie den verbleibenden Einrichtungsschritten und klicken Sie auf Fertig.
Entwicklungsumgebung auswählen und einrichten
Data Connect unterstützt zwei Entwicklungsumgebungen für die Entwicklung:
- Wenn Sie Kotlin-Entwickler für Android, iOS-Entwickler, Flutter-Entwickler oder Webentwickler sind, können Sie mit VS Code Schemas und Vorgänge lokal entwerfen und testen, während Sie eine Verbindung zu Ihrer Cloud SQL for PostgreSQL-Instanz herstellen.
- Wenn Sie Webentwickler sind, können Sie mit IDX Development einen Prototyp in einem IDX-Arbeitsbereich erstellen. Dazu verwenden Sie eine vorkonfigurierte IDX-Vorlage mit PostgreSQL, die VS Code-Erweiterung mit dem Data Connect-Emulator und den für Sie eingerichteten Schnellstart-Clientcode. Weitere Informationen finden Sie auf der Website von Project IDX.
In dieser Kurzanleitung geht es vorrangig um den Entwicklungsablauf der VS Code-Erweiterung. So fahren Sie fort:
- Erstellen Sie ein neues Verzeichnis für Ihr lokales Projekt.
- Öffnen Sie VS Code im neuen Verzeichnis.
Installieren Sie die Firebase Data Connect-Erweiterung aus dem Visual Studio Code Marketplace.
Lokales Projekt einrichten
Installieren Sie die Befehlszeile gemäß der normalen Anleitung. Wenn npm bereits installiert ist, führen Sie den folgenden Befehl aus:
npm install -g firebase-tools
Projektverzeichnis einrichten
Um Ihr lokales Projekt einzurichten, müssen Sie das Projektverzeichnis initialisieren.
Klicken Sie im linken Bereich von VS Code auf das Firebase-Symbol, um die Benutzeroberfläche der Firebase-VS Code-Erweiterung zu öffnen.
- Klicken Sie auf die Schaltfläche Über Google anmelden.
- Klicken Sie auf die Schaltfläche Firebase-Projekt verbinden und wählen Sie das gewünschte Projekt aus. die Sie zuvor in der Console erstellt haben.
- Klicken Sie auf die Schaltfläche firebase init ausführen.
- Wenn Sie den Blaze-Tarif nutzen, antworten Sie auf die Aufforderung „Möchten Sie Ihre Backend-Ressourcen jetzt konfigurieren?“ mit „Ja“.
Klicken Sie auf die Schaltfläche Emulator starten.
Schema erstellen
Definieren Sie im Firebase-Projektverzeichnis in der Datei /dataconnect/schema/schema.gql
ein GraphQL-Schema, das Filme enthält.
Film
In Data Connect werden GraphQL-Felder Spalten zugeordnet. Der Typ Movie
hat id
, title
, imageUrl
und genre
. Data Connecterkennt die primitiven Datentypen String
und UUID
.
Kopieren Sie das folgende Snippet oder entfernen Sie die Kommentarzeichen für die entsprechenden Zeilen in der Datei.
# File `/dataconnect/schema/schema.gql`
# By default, a UUID id key will be created by default as primary key.
type Movie @table {
id: UUID! @default(expr: "uuidV4()")
title: String!
imageUrl: String!
genre: String
}
Filmmetadaten
Da Sie jetzt Filme haben, können Sie Filmmetadaten modellieren.
Kopieren Sie das folgende Snippet oder entfernen Sie die Kommentarzeichen für die entsprechenden Zeilen in der Datei.
# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
# This time, we omit adding a primary key because
# you can rely on Data Connect to manage it.
# @unique indicates a 1-1 relationship
movie: Movie! @unique
# movieId: UUID <- this is created by the above reference
rating: Float
releaseYear: Int
description: String
}
Beachten Sie, dass das Feld movie
dem Typ Movie
zugeordnet ist.
Data Connect versteht, dass es sich hierbei um eine Beziehung zwischen Movie
handelt
und MovieMetadata
und werden diese Beziehung für dich verwalten.
Weitere Informationen zu Data Connect-Schemas in der Dokumentation
Schema in der Produktionsumgebung bereitstellen
Wenn Sie die Firebase VS Code-Erweiterung für Ihre Produktionsdatenbank verwenden, müssen Sie Ihr Schema bereitstellen, bevor Sie fortfahren. Nachdem Sie das Schema in Ihrer Produktionsdatenbank bereitgestellt haben, sollte es in der Console angezeigt werden.
- Sie können die VS Code-Erweiterung „Data Connect“ für die Bereitstellung verwenden.
- Klicken Sie in der Benutzeroberfläche der Erweiterung im Bereich Firebase Data Connect auf In Produktion bereitstellen.
- Möglicherweise müssen Sie Schemaänderungen prüfen und potenziell schädliche Änderungen genehmigen. Sie werden aufgefordert, Folgendes zu tun:
- Schemaänderungen mit
firebase dataconnect:sql:diff
überprüfen - Wenn Sie mit den Änderungen zufrieden sind, wenden Sie sie wie folgt an:
firebase dataconnect:sql:migrate
- Schemaänderungen mit
Tabellen Daten hinzufügen
Im VS-Code-Editorbereich sehen Sie CodeLens-Schaltflächen über dem
GraphQL-Typen in /dataconnect/schema/schema.gql
. Da Sie Ihr Schema in der Produktion bereitgestellt haben, können Sie mit den Schaltflächen Daten hinzufügen und Ausführen (Produktion) Ihrer Datenbank im Backend Daten hinzufügen.
So fügen Sie der Tabelle Movie
Einträge hinzu:
- Klicken Sie in
schema.gql
über der Typdeklaration fürMovie
auf die Schaltfläche Daten hinzufügen.
- In der generierten Datei
Movie_insert.gql
hartcodieren Sie die Daten für die vier Felder. - Klicken Sie auf die Schaltfläche Ausführen (Produktion).
So überprüfen Sie schnell, ob Daten hinzugefügt wurden:
- Klicken Sie in
schema.gql
auf die Schaltfläche Daten lesen. - Klicken Sie in der resultierenden
Movie_read.gql
-Datei auf die Schaltfläche Ausführen (Produktion), um die Abfrage auszuführen.
Weitere Informationen zu Data Connect-Mutationen in der Dokumentation
Abfrage definieren
Jetzt kommen wir zum Teil, den Abfragen. Als Entwickler sind Sie es gewohnt, SQL-Abfragen anstelle von GraphQL-Abfragen zu schreiben. Das kann sich also anfangs etwas anders anfühlen. GraphQL ist jedoch wesentlich präziser und typsicherer als Roh-SQL. Unsere VS Code-Erweiterung erleichtert die Entwicklung.
Bearbeiten Sie die Datei /dataconnect/connector/queries.gql
. Wenn Sie alle Filme abrufen möchten, verwenden Sie eine Abfrage wie diese.
# File `/dataconnect/connector/queries.gql`
# @auth() directives control who can call each operation.
# Anyone should be able to list all movies, so the auth level
# is set to PUBLIC
query ListMovies @auth(level: PUBLIC) {
movies {
id
title
imageUrl
genre
}
}
Führen Sie die Abfrage mit der CodeLens-Schaltfläche in der Nähe aus.
Weitere Informationen zu Data Connect-Abfragen in der Dokumentation
SDKs generieren und in Ihrer App verwenden
- Klicken Sie auf die Schaltfläche SDK zur App hinzufügen.
Wählen Sie im angezeigten Dialogfeld ein Verzeichnis mit Code aus. für Ihre App. Data Connect Der SDK-Code wird dort generiert und gespeichert.
Wählen Sie Ihre App-Plattform aus. Der SDK-Code wird sofort die in Ihrem ausgewählten Verzeichnis generiert wurden.
Hier erfahren Sie, wie Sie mit dem generierten SDK Abfragen und Mutationen vom Client aufrufen (Web, Android, iOS, Flutter).
Schema und Abfrage für die Produktion bereitstellen
Sie haben eine Entwicklungsiteration durchlaufen. Jetzt können Sie Ihre Schema, Daten und Abfragen an den Server senden, Erweiterungs-UI oder der Firebase-Befehlszeile, genau wie Sie es mit Ihrem Schema getan haben.
Wenn Sie die Erweiterung „Firebase VS Code“ für die Bereitstellung verwenden, klicken Sie auf das Symbol Schaltfläche Für Produktion bereitstellen:
Rufen Sie nach der Bereitstellung die Firebase Console auf, um zu prüfen, ob das Schema, die Vorgänge und die Daten in die Cloud hochgeladen wurden. Sie sollten das Schema sehen und Ihre Vorgänge auch in der Console ausführen können. Die Cloud SQL for PostgreSQL-Instanz wird mit dem endgültig bereitgestellten generierten Schema und den Daten aktualisiert.
Weitere Informationen zur Verwendung des Data Connect-Emulators in der Dokumentation
Nächste Schritte
Sehen Sie sich Ihr bereitgestelltes Projekt an und entdecken Sie weitere Tools:
In der Firebase Console können Sie Ihrer Datenbank Daten hinzufügen, Ihre Schemas prüfen und ändern sowie Ihren Data Connect-Dienst überwachen. Weitere Informationen finden Sie in der Dokumentation. Wenn Sie beispielsweise die Kurzanleitung abgeschlossen haben:
Weitere Informationen zur Entwicklung von Schema, Abfrage und Mutation
Informationen zum Generieren von Client-SDKs und zum Aufrufen von Abfragen und Mutationen aus Clientcode für Web, Android, iOS und Flutter