Firebase CLI-Befehlsreferenz für Data Connect

Die Firebase-Befehlszeile ist ein Tool, mit dem Sie Firebase-Produkte und ‑Dienste über die Befehlszeile verwalten und konfigurieren können.

Die Befehlszeile bietet Befehle, mit denen eine Vielzahl von Data Connect-Aufgaben ausgeführt werden kann, z. B. das Erstellen eines neuen Data Connect-Projekts, das Initialisieren eines entsprechenden lokalen Arbeitsverzeichnisses, das Einrichten des Data Connect-Emulators, das Auflisten von Data Connect-Ressourcen und das Generieren von Client-SDKs.

Befehle zur Einrichtung

Data Connect zu einem Firebase-Projekt hinzufügen

firebase init

Verwenden Sie firebase init, um eine neue lokale Projektkonfiguration einzurichten. Mit diesem Workflow werden Firebase-Konfigurationsdateien in Ihrem Verzeichnis erstellt oder aktualisiert.

firebase init

Der firebase init-Vorgang führt Sie durch die Einrichtung eines Dienstes und einer Datenbank sowie optional durch die Installation des Data Connect-Emulators und die Konfiguration generierter SDKs.

Dienst- und Datenbankeinrichtung

Wenn Sie dataconnect für die Produkteinrichtung auswählen, werden Sie in der Befehlszeile aufgefordert, einen neuen Dienstnamen und Speicherort anzugeben und zu entscheiden, ob Sie eine vorhandene Cloud SQL for PostgreSQL-Instanz verknüpfen oder eine neue Instanz erstellen möchten.

Wenn eine vorhandene Instanz verknüpft ist, prüft die Befehlszeile, ob die Einstellungen kompatibel sind, z. B. die IAM-Authentifizierung und öffentliche IP-Adressen.

Local Emulator Suite-Einrichtung

Über die Befehlszeile können Sie Emulatoren einrichten, einschließlich des Data Connect-Emulators.

Data Connect-Emulatorbefehle

Data Connect-Emulator starten

emulators:start/exec

firebase emulators:start/exec

Verwenden Sie die Local Emulator Suite-Version des Data Connect-Emulators im interaktiven Modus mit start oder im scriptgesteuerten, nicht interaktiven Modus mit exec.

Befehle zur Schema- und Connector-Verwaltung

Dieser Abschnitt enthält Referenzinformationen zur Befehlszeile für Befehle, mit denen Sie Schemas und Connectors verwalten.

Anwendungsfälle und empfohlene Praktiken im Zusammenhang mit diesen Befehlen finden Sie im Leitfaden zur Schema- und Connector-Verwaltung.

Schema- und Connector-Ressourcen bereitstellen

bereitstellen

firebase deploy

Mit diesem Befehl werden Ressourcen für Data Connect-Dienste bereitgestellt, die in firebase.json indexiert sind. Falls erforderlich, wird eine Schemamigration durchgeführt.

Befehl Beschreibung

firebase deploy

Flag Beschreibung

–-only dataconnect

Sie können Schemas und Connectoren für alle Data Connect-Dienste für dieses Projekt bereitstellen, aber keine anderen Firebase-Produktressourcen.

–-only dataconnect:serviceId

Schema und Connectors für den angegebenen Data Connect-Dienst bereitstellen

–-only dataconnect:serviceId:connectorId

Einen einzelnen Connector für den angegebenen Data Connect-Dienst bereitstellen

–-only dataconnect:serviceId:schema

Binden Sie das Schema für den angegebenen Data Connect-Dienst ein.

Mit den –-only-Flags können Sie durch Kommas getrennte Werte übergeben, um eine beliebige Teilmenge von Ressourcen bereitzustellen.

firebase deploy --only dataconnect:service1:schema,dataconnect:service2

Data Connect-Dienste, -Schemas und -Connectors auflisten

dataconnect:services:list

firebase dataconnect:services:list

Dieser Befehl gibt grundlegende Informationen zu den Diensten, Schemas und Verbindungen aus, die in einem Projekt bereitgestellt werden.

SQL-Schemas vergleichen und migrieren

dataconnect:sql:diff

firebase dataconnect:sql:diff

Mit diesem Befehl wird das lokale Schema für einen Dienst mit dem aktuellen Schema der entsprechenden Cloud SQL-Datenbank verglichen. Es werden die Befehle ausgegeben, die zum Migrieren der Datenbank in das neue Schema ausgeführt würden.

Befehl Beschreibung

firebase dataconnect:sql:diff

Flag/Parameter Beschreibung

serviceId

Geben Sie den Dienst an. Wird dieser Parameter weggelassen, wird die Differenz für alle Dienste in firebase.json ausgegeben.

dataconnect:sql:migrate

firebase dataconnect:sql:migrate

Mit diesem Befehl werden lokale Schemaänderungen auf die Cloud SQL-Datenbank eines Dienstes angewendet.

Wenn Sie ein neues lokales Data Connect-Projekt mit der Standarddataconnect.yaml-Datei einrichten, werden Sie vom Befehl dataconect:sql:migrate aufgefordert, alle erforderlichen Änderungen vorzunehmen und dann alle optionalen Änderungen, bevor die Änderungen ausgeführt werden. Sie können dieses Verhalten ändern, damit optionale Änderungen immer eingeschlossen oder ignoriert werden. Aktualisieren Sie dazu Ihre dataconnect.yaml-Konfiguration, wie unter Schema im strengen oder kompatiblen Modus migrieren beschrieben.

In interaktiven Umgebungen werden in der Befehlszeile jede SQL-Anweisung für die Migration (und ob sie zerstörerisch ist) angezeigt und Sie werden aufgefordert, die gewünschten Änderungen anzuwenden. Wenn Sie das Flag --force übergeben, entspricht das der Annahme aller Prompts.

In nicht interaktiven Umgebungen:

  • Ohne --force werden nur zerstörungsfreie Änderungen vorgenommen. Wenn es schädliche Änderungen gibt, wird die Befehlszeile abgebrochen und es werden keine Änderungen vorgenommen.
  • mit --force werden alle Änderungen vorgenommen. Wenn dies zerstörerische Änderungen umfasst, werden sie gedruckt und Sie werden gefragt, ob Sie fortfahren möchten, es sei denn, das Flag --force ist angegeben.
Befehl Beschreibung

firebase dataconnect:sql:migrate

Flag Beschreibung

serviceId

Migrieren Sie die Datenbank für den angegebenen Dienst. Die serviceId wird abgeleitet, wenn Ihr Projekt nur einen Dienst hat.

–-force

Prompts automatisch akzeptieren

Wie bei anderen --only-Flags können Sie mehrere Dienste durch Kommas getrennt angeben.

Schema im strengen oder kompatiblen Modus migrieren

Für Data Connect-Schemamigrationen gibt es zwei verschiedene Schemaüberprüfungsmodi: streng und kompatibel. Bei der Validierung im strengen Modus muss das Datenbankschema genau mit dem Anwendungsschema übereinstimmen, bevor das Anwendungsschema bereitgestellt werden kann. Für die Validierung im kompatiblen Modus muss das Datenbankschema kompatibel mit dem Anwendungsschema sein. Das bedeutet, dass Elemente in Ihrer Datenbank, die nicht vom Anwendungsschema verwendet werden, unverändert bleiben.

Diese Schemavalidierungsmodi und Best Practices für die Schemamigration werden im Leitfaden zum Verwalten von Schemas und Verbindungen behandelt.

Der Validierungsmodus wird mit dem Schlüssel schemaValidation in der Datei dataconnect.yaml definiert. Wenn schemaValidation nicht angegeben ist, wendet die Befehlszeile kompatible Änderungen an und fordert Sie auf, bevor Sie strenge Änderungen ausführen. Weitere Informationen finden Sie in der Referenz zur Konfiguration.

SDK-Befehle

SDKs generieren

dataconnect:sdk:generate

firebase dataconnect:sdk:generate

Mit diesem Befehl werden die in connector.yaml deklarierten typisierten SDKs generiert.

Weitere Informationen finden Sie in den Anleitungen für die Verwendung der Web-SDKs, Android-SDKs und iOS-SDKs.

Befehl Beschreibung

firebase dataconnect:sdk:generate

Flag Beschreibung

–-watch

Der Prozess wird fortgesetzt und es werden neue SDKs generiert, sobald Sie Änderungen an Ihren Schema- und Connector-GQL-Dateien speichern.

Wenn die Generierung fehlschlägt, werden Fehler auf stdout ausgegeben, der generierte Code wird nicht geändert und der Befehl wird fortgesetzt.

–-only connectorId:platform

Generieren Sie nur SDKs für eine einzelne Plattform und einen einzelnen Connector.

Mit den –only-Flags können Sie kommagetrennte Werte übergeben.

firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin

Cloud SQL-Verwaltungsbefehle

SQL-Rollen für Cloud SQL gewähren

dataconnect:sql:grant

firebase dataconnect:sql:grant

Data Connect wird auf Ihrer eigenen PostgreSQL-Instanz ausgeführt, die auf Cloud SQL gehostet wird. In einigen Fällen möchten Sie möglicherweise direkt auf Ihre Datenbank zugreifen, um die von Ihren Data Connect-Apps generierten Daten abzufragen oder zu aktualisieren. Dazu müssen Sie dem erforderlichen Nutzer oder Dienstkonto eine der in diesem Abschnitt definierten Rollen zuweisen.

Weitere Informationen zu den gewährten Rollen finden Sie unter PostgreSQL-Nutzerrollen.

Rolle SQL-Rolle Berechtigungen Nutzung Zu gewährender Betrag
reader firebasereader_<db_name>_<schema_name> Lesezugriff auf die Datenbank.

 Kann SELECT-Vorgänge auf allen Tabellen innerhalb des angegebenen Schemas ausführen.
Ideal für Nutzer oder Dienste, bei denen Daten abgerufen, aber nicht geändert werden sollen. Ja
Autor firebasewriter_<db_name>_<schema_name> Lese- und Schreibzugriff auf die Datenbank.

 Kann SELECT-, INSERT-, UPDATE-, DELETE- und TRUNCATE-Vorgänge auf alle Tabellen im Schema ausführen.
Geeignet für Nutzer oder Dienste, die Daten in der Datenbank ändern müssen. Ja
Inhaber firebaseowner_<db_name>_<schema_name> Schemainhaber.

Hat alle Berechtigungen für alle Tabellen und Sequenzen im Schema.
Diese Rolle gewährt in Kombination mit der IAM-Rolle roles/cloudsql.client die Berechtigung zur Migration der Datenbank.

Beispiel: Beim Aufrufen von firebase dataconnect:sql:migrate.
Ja
Superuser cloudsqlsuperuser Integrierte Superuser-Rolle mit vollen Berechtigungen für die Datenbank.

Zusätzlich zu den Inhaberberechtigungen kann er Schemas erstellen, Schemas löschen, Erweiterungen installieren und andere administrative Aufgaben ausführen.

 In der Befehlszeile kann man sich als „firebasesuperuser“ anmelden, um darauf zuzugreifen.
Erforderlich zum Installieren von Erweiterungen, Erstellen des ursprünglichen Schemas und Gewähren einer der zuweisbaren SQL-Rollen für andere Nutzer.

Wenn ein Nutzer, der kein Administrator ist, Superuser-Berechtigungen benötigt, schlägt die Migration fehl und der Nutzer wird aufgefordert, den Datenbankadministrator (d.h. einen Nutzer mit roles/cloudsql.admin) zu bitten, die SQL-Befehle mit Berechtigungen auszuführen.
Wird Nutzern mit roles/cloudsql.admin gewährt und kann nicht direkt über die Firebase-Befehlszeile gewährt werden
Befehl Beschreibung

firebase dataconnect:sql:grant

Flag/Parameter Beschreibung

-R, --role Rolle

Die zu gewährende SQL-Rolle: „Inhaber“, „Autor“ oder „Leser“.

-E, --email email_address

E-Mail-Adresse eines Nutzers oder Dienstkontos, dem die Rolle zugewiesen werden soll.

Globale Optionen

Die folgenden globalen Optionen gelten für alle Befehle:

  • --json wandelt die CLI-Ausgabe in JSON um, damit sie von anderen Tools geparst werden kann.
  • --noninteractive und --interactive überschreiben bei Bedarf die automatische Erkennung von Umgebungen ohne TTY.