Firebase-Konnektor
Übersicht
Abschnitt betitelt „Übersicht“Der Firebase-Konnektor ermöglicht das Schreiben von Daten in Google Cloud Firestore, eine flexible, skalierbare NoSQL-Cloud-Datenbank für Mobile-, Web- und Serverentwicklung.
Konnektor-Typen:
FirebaseWriter- Dokumente in Firestore-Sammlungen schreiben
Firebase Writer
Abschnitt betitelt „Firebase Writer“Daten in eine Firestore-Sammlung schreiben:
{ "type": "FirebaseWriter", "config": { "credentialsFile": { "mode": "base64", "data": "<base64-encoded-service-account-json>" }, "projectId": "my-firebase-project", "collection": "sensor_readings" }}Mit benutzerdefinierter Datenbank
Abschnitt betitelt „Mit benutzerdefinierter Datenbank“Mit einer bestimmten Firestore-Datenbank verbinden (für Multi-Datenbank-Projekte):
{ "type": "FirebaseWriter", "config": { "credentialsFile": { "mode": "path", "data": "/path/to/service-account.json" }, "projectId": "my-firebase-project", "databaseName": "production-db", "collection": "iot_events" }}Konfigurationsparameter
Abschnitt betitelt „Konfigurationsparameter“| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
credentialsFile | EncodedFile | ✅ | Service-Account-Anmeldedatei |
projectId | string | ✅ | Firebase/GCP-Projekt-ID |
collection | string | ✅ | Firestore-Sammlungsname |
databaseName | string | ❌ | Firestore-Datenbankname (für Multi-Datenbank-Projekte) |
Anmeldedatei-Format
Abschnitt betitelt „Anmeldedatei-Format“Der credentialsFile-Parameter unterstützt zwei Modi:
Base64-kodiert
Abschnitt betitelt „Base64-kodiert“{ "credentialsFile": { "mode": "base64", "data": "eyJ0eXBlIjoic2VydmljZV9hY2NvdW50Ii..." }}Dateipfad
Abschnitt betitelt „Dateipfad“{ "credentialsFile": { "mode": "path", "data": "/etc/meddle/firebase-credentials.json" }}Service-Account-Einrichtung
Abschnitt betitelt „Service-Account-Einrichtung“- Gehen Sie zur Firebase-Konsole
- Wählen Sie Ihr Projekt → Projekteinstellungen → Service-Accounts
- Klicken Sie auf “Neuen privaten Schlüssel generieren”
- Laden Sie die JSON-Datei herunter
- Verwenden Sie den Dateipfad oder kodieren Sie den Inhalt in Base64
Datenformat
Abschnitt betitelt „Datenformat“Jeder Daten-Payload wird als neues Dokument in der angegebenen Sammlung hinzugefügt:
{ "temperature": 25.5, "pressure": 101.3, "humidity": 60, "timestamp": 1234567890}Firestore generiert automatisch eine eindeutige Dokument-ID für jeden Eintrag.
Häufige Anwendungsfälle
Abschnitt betitelt „Häufige Anwendungsfälle“1. IoT-Sensordaten
Abschnitt betitelt „1. IoT-Sensordaten“Sensorwerte in Firestore speichern:
{ "type": "FirebaseWriter", "config": { "credentialsFile": { "mode": "path", "data": "/config/firebase-sa.json" }, "projectId": "iot-monitoring", "collection": "sensor_data" }}2. Ereignisprotokollierung
Abschnitt betitelt „2. Ereignisprotokollierung“Systemereignisse in Firestore protokollieren:
{ "type": "FirebaseWriter", "config": { "credentialsFile": { "mode": "base64", "data": "<credentials>" }, "projectId": "event-tracker", "collection": "system_events" }}3. Multi-Datenbank-Architektur
Abschnitt betitelt „3. Multi-Datenbank-Architektur“In eine bestimmte Datenbank in einem Multi-Datenbank-Projekt schreiben:
{ "type": "FirebaseWriter", "config": { "credentialsFile": { "mode": "path", "data": "/config/firebase-sa.json" }, "projectId": "enterprise-app", "databaseName": "analytics-db", "collection": "metrics" }}Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Initialisierung fehlgeschlagen
Abschnitt betitelt „Initialisierung fehlgeschlagen“Lösungen:
- Überprüfen, ob die Anmeldedatei gültiges JSON ist
- Projekt-ID mit Ihrem Firebase-Projekt abgleichen
- Sicherstellen, dass der Service-Account Firestore-Berechtigungen hat
- Base64-Kodierung überprüfen, wenn Base64-Modus verwendet wird
Schreiben fehlgeschlagen
Abschnitt betitelt „Schreiben fehlgeschlagen“Lösungen:
- Sammlungsnamen auf Gültigkeit prüfen
- Firestore-Sicherheitsregeln auf Schreibberechtigung prüfen
- Sicherstellen, dass der Service-Account die Rolle
datastore.userhat - Firestore-Kontingente und -Limits prüfen
Client-Verbindungsfehler
Abschnitt betitelt „Client-Verbindungsfehler“Lösungen:
- Netzwerkverbindung zu Google Cloud überprüfen
- Firewall auf ausgehende HTTPS-Verbindungen (Port 443) prüfen
- Sicherstellen, dass Anmeldedaten nicht abgelaufen oder widerrufen sind
Best Practices
Abschnitt betitelt „Best Practices“- Service-Accounts verwenden: Niemals Benutzeranmeldedaten in der Produktion verwenden
- Berechtigungen einschränken: Nur notwendige Firestore-Berechtigungen gewähren
- Sammlungen organisieren: Aussagekräftige Sammlungsnamen mit klarer Hierarchie verwenden
- Nutzung überwachen: Firestore-Lese-/Schreiboperationen für Kostenmanagement verfolgen
- Anmeldedaten sichern: Anmeldedaten sicher speichern, niemals in Versionskontrolle committen