Erste Schritte mit Firebase Data Connect

In dieser Kurzanleitung erfahren Sie, wie Sie Firebase Data Connect in Ihre Anwendung einbinden.

  • Fügen Sie Firebase Data Connect Ihrem Firebase-Projekt hinzu.
  • Richten Sie eine Entwicklungsumgebung mit einer Visual Studio Code-Erweiterung ein, die mit einer Produktionsinstanz funktioniert.
  • Anschließend zeigen wir Ihnen, wie Sie:
    • Erstellen Sie ein Schema für eine Filmbewertungs-App und stellen Sie es in der Produktion bereit.
    • 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

Um diesen Schnellstart in Ihrer lokalen Umgebung verwenden zu können, benötigen Sie Folgendes.

Verbindung mit Ihrem Firebase-Projekt herstellen

  1. Erstellen Sie ein Firebase-Projekt, falls noch nicht geschehen.
    1. Klicken Sie in der Firebase Console auf Projekt hinzufügen und folgen Sie der Anleitung auf dem Bildschirm.
  2. Rufe in der Firebase-Konsole den Bereich Data Connect auf und folge dem Workflow zur Produkteinrichtung.
  3. Führen Sie für Ihr Projekt ein Upgrade auf den Tarif „Blaze“ durch. So können Sie eine Cloud SQL for PostgreSQL-Instanz erstellen.

  4. Wählen Sie einen Speicherort für Ihre Cloud SQL for PostgreSQL-Datenbank aus.

  5. Notieren Sie sich die Namen und IDs von Projekt, Dienst und Datenbank für später.

  6. Folgen Sie der restlichen Einrichtung und klicken Sie dann auf Fertig.

Entwicklungsumgebung auswählen und einrichten

Data Connect unterstützt zwei Entwicklungsumgebungen:

  • 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 mit einer vorkonfigurierten IDX-Vorlage mit PostgreSQL, der VS Code-Erweiterung mit dem Data Connect-Emulator und dem für Sie eingerichteten Schnellstart-Clientcode erstellen. Weitere Informationen finden Sie auf der Website von Project IDX.

In dieser Kurzanleitung liegt der Schwerpunkt auf dem Entwicklungsablauf für VS Code-Erweiterungen. So fahren Sie fort:

  1. Erstellen Sie ein neues Verzeichnis für Ihr lokales Projekt.
  2. Öffnen Sie VS Code im neuen Verzeichnis.
  3. Installieren Sie die Firebase Data Connect-Erweiterung aus dem Visual Studio Code Marketplace.

Lokales Projekt einrichten

Installieren Sie die CLI gemäß der normalen Anleitung. Wenn Sie npm bereits installiert haben, 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.

  1. Klicken Sie auf die Schaltfläche Über Google anmelden.
  2. Klicken Sie auf die Schaltfläche Firebase-Projekt verbinden und wählen Sie das Projekt aus, das Sie zuvor in der Console erstellt haben.
  3. Klicken Sie auf die Schaltfläche firebase init ausführen.
  4. Wenn für Ihr Projekt der Tarif "Blaze" festgelegt ist, antworten Sie bei der Aufforderung "Möchten Sie Ihre Back-End-Ressourcen jetzt konfigurieren?" mit "Ja".
  5. Klicken Sie auf die Schaltfläche Emulatoren 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 Connect erkennt 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
}

MovieMetadata

Jetzt, da Sie Filme haben, können Sie Metadaten für Filme 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
}

Das Feld movie ist einem Typ von Movie zugeordnet. Data Connect versteht, dass es sich um eine Beziehung zwischen Movie und MovieMetadata handelt, und verwaltet diese Beziehung für Sie.

Weitere Informationen zu Data Connect-Schemas in der Dokumentation

Schema in der Produktionsumgebung bereitstellen

Wenn Sie die Firebase-VS Code-Erweiterung für die Arbeit mit Ihrer Produktionsdatenbank verwenden, müssen Sie Ihr Schema bereitstellen, bevor Sie fortfahren können. Nachdem Sie das Schema in der Produktionsdatenbank bereitgestellt haben, sollten Sie das Schema in der Console anzeigen können.

  1. Sie können die Data Connect VS Code-Erweiterung für die Bereitstellung verwenden.
    • Klicken Sie in der Benutzeroberfläche der Erweiterung im Bereich Firebase Data Connect auf In Produktion bereitstellen.
  2. Möglicherweise müssen Sie Schemaänderungen prüfen und potenziell schädliche Änderungen genehmigen. Sie werden dazu aufgefordert:
    • Schemaänderungen mit firebase dataconnect:sql:diff überprüfen
    • Wenn Sie mit den Änderungen zufrieden sind, wenden Sie sie mit dem Ablauf an, der von firebase dataconnect:sql:migrate gestartet wurde.

Tabellen Daten hinzufügen

Im VS-Code-Editorbereich sehen Sie CodeLens-Schaltflächen über den 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:

  1. Klicken Sie in schema.gql über der Typdeklaration für Movie auf die Schaltfläche Daten hinzufügen.
    Code Lens-Schaltfläche „Daten hinzufügen“ für Firebase Data Connect
  2. In der generierten Datei Movie_insert.gql die Daten für die vier Felder hartcodieren.
  3. Klicken Sie auf die Schaltfläche Ausführen (Produktion).
    Code Lens-Schaltfläche „Ausführen“ für Firebase Data Connect
  4. Wiederhole die vorherigen Schritte, um der Tabelle MovieMetadata einen Datensatz hinzuzufügen. Gib dazu die id deines Films in das Feld movieId ein, wie in der generierten MovieMetadata_insert-Mutation angegeben.

So überprüfen Sie schnell, ob Daten hinzugefügt wurden:

  1. Klicken Sie in schema.gql über der Typdeklaration für Movie auf die Schaltfläche Daten lesen.
  2. 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 kommt der spaßige Teil: Abfragen. Als Entwickler sind Sie daran gewöhnt, SQL-Abfragen anstelle von GraphQL-Abfragen zu schreiben. Daher kann es sich anfangs etwas anders anfühlen. GraphQL ist jedoch viel prägnanter und typsicherer als reines 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 aus.

Weitere Informationen zu Data Connect-Abfragen in der Dokumentation

SDKs generieren und in Ihrer App verwenden

  1. Klicken Sie auf die Schaltfläche SDK zur App hinzufügen.
  2. Wählen Sie im angezeigten Dialogfeld ein Verzeichnis mit dem Code für Ihre Anwendung aus: Data Connect. Der SDK-Code wird dort generiert und gespeichert.

  3. Wählen Sie Ihre App-Plattform aus. Der SDK-Code wird dann sofort im ausgewählten Verzeichnis generiert.

Informationen zum Aufrufen von Abfragen und Mutationen aus Client-Apps (Web, Android, iOS, Flutter) mit dem generierten SDK

Schema und Abfrage in der Produktion bereitstellen

Sie haben eine Entwicklungsiteration durchlaufen. Jetzt können Sie Ihr Schema, Ihre Daten und Abfragen mit der Benutzeroberfläche der Firebase-Erweiterung oder der Firebase-Befehlszeile auf dem Server bereitstellen, genau wie Sie es mit Ihrem Schema getan haben.

Wenn Sie die Firebase-VS Code-Erweiterung für die Bereitstellung verwenden, klicken Sie auf die Schaltfläche In 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 finden Sie in der Dokumentation.

Nächste Schritte

Überprüfen Sie Ihr bereitgestelltes Projekt und entdecken Sie weitere Tools: