Mit der experimentellen Dart-Unterstützung in Cloud Functions for Firebase können Sie Full-Stack-Anwendungen mit Flutter und Dart erstellen. Mit dem neuen Firebase Admin Dart SDK können Sie mit anderen Firebase-Diensten kommunizieren.
Wenn Sie mit Dart-Funktionen beginnen möchten, führen Sie die Einrichtungsaufgaben in diesem Leitfaden aus und sehen Sie sich dann die Dart-HTTP- und aufrufbaren Funktionen an.
Vorbereitung
- Dart SDK 3.9 oder höher
- Firebase-CLI (Version 15.15.0 oder höher)
Prüfen Sie mit dem Flag --version, ob Sie eine Version der Firebase-Befehlszeile haben, die Dart in Cloud Functions for Firebase unterstützt:
`firebase --version`
Test in der Firebase-Befehlszeile aktivieren
firebase experiments:enable dartfunctions
Projekt initialisieren
Ausführen:
firebase init functionsWählen Sie Dart als Sprache aus.
Wenn Sie gefragt werden, ob Sie die Abhängigkeiten jetzt installieren möchten, antworten Sie mit „Ja“.
Funktionscode ansehen
Sehen Sie sich den Code an, der in functions/bin/server.dart (oder Ihrem Einstiegspunkt) generiert wurde. Dieser Code zeigt eine einfache HTTP-Funktion.
Beachten Sie, dass im Beispielcode die maximale Anzahl von Instanzen für die Funktion helloWorld mit dem Konstruktor HttpsOptions auf 10 festgelegt wird. Weitere Informationen zu Laufzeitoptionen finden Sie unter Laufzeitoptionen festlegen.
Lokal testen
firebase emulators:start
Sobald die Local Emulator Suite hochgefahren ist, wird eine Protokollzeile wie functions http function initialized
(http://127.0.0.1:5001/<url>) angezeigt. Laden Sie diese URL in Ihren Browser, um die lokal emulierte Dart-Funktion aufzurufen.
Wenn Sie Ihren Dart-Code bearbeiten, erkennt Firebase Local Emulator Suite die Änderung und lädt die Funktion automatisch neu.
Bereitstellen
firebase deploy --only functions
Der Bereitstellungsprozess für Dart unterscheidet sich von dem für Node.js- oder Python-Funktionen. Anstatt Ihren Quellcode hochzuladen, um ihn in Cloud Build zu erstellen, führt die Firebase-Befehlszeile einen Dart-Kompilierungsschritt auf Ihrem Entwicklungscomputer aus und lädt die generierte Binärdatei direkt in Cloud Run-Funktionen hoch.
Wenn die Bereitstellung abgeschlossen ist, wird eine Logzeile wie Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app angezeigt.
Laden Sie diese URL in Ihrem Browser, um die neu bereitgestellte Dart-Funktion aufzurufen.
Nächste Schritte
- Legen Sie Konfigurationsoptionen wie die Mindestanzahl von Instanzen fest.
- Weitere Informationen zu HTTP-Funktionen und aufrufbaren Funktionen.
- Folgen Sie dem Dart Functions-Codelab.
- Verwenden Sie die experimentelle Dart Admin SDK, um von Ihrer Funktion aus mit anderen Firebase-Diensten wie Cloud Firestore zu interagieren.
- Zusätzlich zu
onRequest-HTTP-Funktionen können Sie einonCall-Beispiel oder einonCall-Beispiel mit Streaming ausprobieren, um Funktionen direkt aus Ihrer App aufzurufen (beachten Sie die besondere Einschränkung bezüglich der Aufrufmethode).
Beschränkungen
- Der Trigger
onCallkann bereitgestellt, aber nicht von Client-SDKs mit Methoden wie httpsCallable aufgerufen werden, die Funktionen anhand des Namens identifizieren. Stattdessen können Sie Methoden wie httpsCallableFromURL verwenden und die vollständige Cloud Run-URL Ihrer Funktion übergeben. - Andere Trigger, z. B. Firestore-Trigger, können in der lokalen Emulator-Suite ausgeführt, aber nicht bereitgestellt werden.
- In der Firebase-Konsole werden Dart-Funktionen während des experimentellen Release nicht angezeigt. Sie können Dart-Funktionen stattdessen auf der Seite Cloud Run-Funktionen der Cloud Console aufrufen.
Wenn Sie bei der Arbeit mit Dart-Funktionen Probleme feststellen, können Sie dem Team einen Bericht senden, um uns bei der Verbesserung und Erweiterung des experimentellen Dart SDK zu helfen.