Mit der Firebase-Befehlszeile können Sie Ihre Firebase-Projekte in einem lokalen, versionssteuerbaren Projektverzeichnis verwalten. Dazu gehören Data Connect-Dienste in Ihren Projekten, Connectors für diese Dienste sowie Ressourcen wie Schema-, Abfrage- und Mutationsquellen für jeden Connector. Außerdem können Sie damit den Firebase Data Connect-Emulator installieren und ausführen. Die Befehlszeile ist eine effiziente Alternative zur Verwendung der Firebase-Konsole.
Eine Anleitung zum Installieren des Firebase-Befehlszeilenexperiments für die private Vorschau und Data Connect-bezogene CLI-Befehle finden Sie in der CLI-Referenz.
In diesem Referenzhandbuch werden folgende Themen behandelt:
- Data Connect-spezifische Einträge in der
firebase.json
-Projektkonfigurationsdatei. - Data Connect-Konfigurationen in
dataconnect.yaml
undconnector.yaml
- IAM-Rollen, die Sie für Ihre Projekte mit Data Connect konfigurieren müssen
Firebase-Projektkonfigurationsdateien
firebase.json-Konfigurationsreferenz
Verwenden Sie die dataconnect
-Schlüssel, um einen oder mehrere Data Connect-Dienste in Ihrem Projekt zu konfigurieren.
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
Konfigurationsreferenz für dataconnect.yaml
In der Datei dataconnect.yaml
werden Konfigurationsinformationen zu den Speicherorten von Anwendungsschemaquellen, Connectorquellen und Informationen zur Verbindung der Datenquelle gespeichert. Die Datei dient auch als Projektverzeichnis für die Firebase-Befehlszeile.
Mit dem Schlüssel schemaValidation
wird die Schemavalidierungsebene festgelegt, die bei der Migration von Schemas während der Bereitstellung durchgeführt wird. Wenn kein Wert festgelegt ist, werden mit dem Befehl dataconect:sql:migrate
kompatible Änderungen angewendet und Sie werden gefragt, bevor strenge Änderungen ausgeführt werden. Wenn diese Richtlinie festgelegt ist, gilt folgendes Verhalten:
STRICT
-Mode. Das Datenbankschema muss genau mit dem Anwendungsschema übereinstimmen, bevor das Anwendungsschema bereitgestellt werden kann. Alle Tabellen oder Spalten, die nicht in Ihrem Data Connect-Schema verwendet werden, werden aus der Datenbank gelöscht.COMPATIBLE
-Mode. Das Datenbankschema muss mit dem Anwendungsschema kompatibel sein, bevor das Anwendungsschema bereitgestellt werden kann. Alle zusätzlichen Änderungen gelten als optional. „Kompatibel“ bedeutet, dass Schemamigrationen auf dem von Ihnen geschriebenen Anwendungsschema basieren. Elemente in Ihrer Datenbank, die nicht von Ihrem Anwendungsschema verwendet werden, bleiben unverändert. Daher kann Ihr Backend nach der Bereitstellung nicht verwendete Schemas, Tabellen und Spalten enthalten.
Die Werte für andere Schlüssel in dieser Datei werden in den Kommentaren unten erläutert.
# The top-level Firebase Data Connect YAML file.
# The Firebase Data Connect API version to target.
# Optional. Defaults to the latest version.
specVersion: string
# The ID of the Firebase Data Connect service resource.
# Required.
serviceId: string
# The location of the Firebase Data Connect service.
# Required.
location: string
# Required.
schema:
# Relative path to directory for schema definitions.
# Recursively loads all .gql files in this directory.
# Optional. If not present, defaults to ./schema.
source: string
# Datasource connection information.
# Required.
datasource:
# Required.
postgresql:
# The name of the PostgreSQL database.
# Required.
database: string
cloudSql:
# The ID of the CloudSQL instance resource.
# Required.
instanceId: string
# Schema validation mode for schema migrations.
# Defaults to unspecified/commented out, meaning you are prompted to
# review all changes during migration.
# If desired, uncomment and indicate one of "STRICT" or "COMPATIBLE".
schemaValidation: string
# Required.
# Relative paths to directories for connector definitions.
# Recursively loads all .gql files in the listed directories.
# All directories specified MUST contain a connector.yaml file.
connectorDirs: [string]
Die YAML-Datei geht von einer standardmäßigen (aber konfigurierbaren) Verzeichnisstruktur aus:
./(project root)
/dataconnect
dataconnect.yaml
/schema
*.gql
/connector
connector.yaml
*.gql
Konfigurationsreferenz für connector.yaml
Verwenden Sie connector.yaml
, um den Standardauthentifizierungsmodus und die SDK-Generierungsoptionen zu konfigurieren.
# The connector-level YAML file.
# Required. The connector name of the Firebase Data Connect connector resource.
connectorId: string
# Optional. If not specified, no generated libraries (i.e. type-safe SDKs) will be generated.
generate:
# Optional.
javascriptSdk:
# Path to the directory that will be updated with the latest generated
# web SDK.
# Required.
- outputDir: string
# Path to your package.json directory. If specified, the new generated sdk will be installed in this path.
# Optional. If not provided, the package will not be auto-installed for you.
- packageJsonDir: string
# Name of the package to be created.
# Optional. Defaults to @firebasegen/<connectorID>
- package: string
<option>: string
# Optional.
swiftSdk:
# Path to the directory that will be updated with the latest generated
# iOS Swift SDK.
# Required.
- outputDir: string
# Name of the package to be created.
- package: string
<option>: string
# Optional.
kotlinSdk:
# Path to the directory that will be updated with the latest generated
# Android SDK.
# Required.
- outputDir: string
# Name of the package to be created.
- package: string
<option>: string
IAM-Konfiguration für Data Connect-Projekte
Detaillierte IAM-Rollen für Data Connect
Firebase-Grundrollen und vordefinierte Rollen werden Data Connect-Rollen auf niedrigerer Ebene zugeordnet. Die Zuordnung finden Sie in der Tabelle.
In der Google Cloud-Konsole können Sie die einzelnen IAM-Rollenzuweisungen für Data Connect detaillierter verwalten.
IAM-Rolle | Berechtigungen |
---|---|
firebasedataconnect.googleapis.com/admin Firebase Data Connect API Admin Diese Rolle umfasst die Rolle „Firebase Data Connect API Viewer“. Entspricht firebasedataconnect.* .Diese Berechtigung wird durch die Rollen „Cloud Owner“, „Cloud Editor“, Firebase Admin“ und „Firebase Develop Admin“ bereitgestellt. |
Vollzugriff auf Ressourcen der Firebase Data Connect API, einschließlich Daten.firebasedataconnect.googleapis.com/operations.delete firebasedataconnect.googleapis.com/operations.cancel firebasedataconnect.googleapis.com/services.create firebasedataconnect.googleapis.com/services.update firebasedataconnect.googleapis.com/services.delete firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead firebasedataconnect.googleapis.com/schemas.create firebasedataconnect.googleapis.com/schemas.update firebasedataconnect.googleapis.com/schemas.delete firebasedataconnect.googleapis.com/schemaRevisions.create firebasedataconnect.googleapis.com/schemaRevisions.delete firebasedataconnect.googleapis.com/connectors.create firebasedataconnect.googleapis.com/connectors.update firebasedataconnect.googleapis.com/connectors.delete firebasedataconnect.googleapis.com/connectorRevisions.create firebasedataconnect.googleapis.com/connectorRevisions.delete
|
firebasedataconnect.googleapis.com/viewer Firebase Data Connect API-Betrachter Diese wird von den Rollen „Cloud Owner“, „Cloud Editor“, „Cloud Viewer“, „Firebase Admin“, „Firebase Viewer“, „Firebase Develop Admin“ und „Firebase Develop Viewer“ bereitgestellt. |
Lesezugriff auf Ressourcen der Firebase Data Connect API. Die Rolle gewährt keinen Zugriff auf Daten.cloudresourcemanager.googleapis.com/projects.list cloudresourcemanager.googleapis.com/projects.get firebasedataconnect.googleapis.com/operations.list firebasedataconnect.googleapis.com/operations.get firebasedataconnect.googleapis.com/locations.list firebasedataconnect.googleapis.com/locations.get firebasedataconnect.googleapis.com/services.list firebasedataconnect.googleapis.com/services.get firebasedataconnect.googleapis.com/schemas.list firebasedataconnect.googleapis.com/schemas.get firebasedataconnect.googleapis.com/schemaRevisions.list firebasedataconnect.googleapis.com/schemaRevisions.get firebasedataconnect.googleapis.com/connectors.list firebasedataconnect.googleapis.com/connectors.get firebasedataconnect.googleapis.com/connectorRevisions.list firebasedataconnect.googleapis.com/connectorRevisions.get
|
firebasedataconnect.googleapis.com/dataAdmin Firebase Data Connect API Data Admin Diese Rolle wird von den Rollen „Cloud Owner“, „Cloud Editor“, Firebase Admin“ und „Firebase Develop Admin“ bereitgestellt. |
Vollständiger Lese- und Schreibzugriff auf Datenquellen.firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead
|
firebasedataconnect.googleapis.com/dataViewer Firebase Data Connect API Data Viewer Diese Rolle wird von den Rollen „Cloud Owner“, „Cloud Editor“, Firebase Admin und Firebase Develop Admin bereitgestellt. |
Lesezugriff auf Datenquellen.firebasedataconnect.googleapis.com/services.executeGraphqlRead
|