Mit der experimentellen Dart-Unterstützung in Cloud Functions for Firebase können Sie Full-Stack-Apps 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, ob Sie eine Version der Firebase-Befehlszeile haben, die Dart in Cloud Functions for Firebase mit dem Flag --version unterstützt:
`firebase --version`
Test in der Firebase-CLI 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 generierten Code in functions/bin/server.dart (oder Ihrem Einstiegspunkt) an. Dieser Code zeigt eine einfache HTTP-Funktion.
Im Beispielcode wird die maximale Anzahl von Instanzen für die Funktion helloWorld mit dem HttpsOptions-Konstruktor auf 10 festgelegt. Weitere Informationen zu Laufzeitoptionen finden Sie unter Laufzeitoptionen festlegen.
Lokal testen
firebase emulators:start
Sobald das 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 Ihrem Browser, um Ihre lokal emulierte Dart-Funktion aufzurufen.
Wenn Sie Ihren Dart-Code bearbeiten, erkennt Firebase Local Emulator Suite die Änderung und lädt Ihre 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 CLI einen Dart-Kompilierungsschritt auf Ihrem Entwicklungscomputer aus und lädt die generierte Binärdatei direkt in Cloud Run-Functions hoch.
Nach Abschluss der Bereitstellung 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 Ihre 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 Codelab zu Dart-Funktionen Codelab zu Dart-Funktionen.
- Mit dem experimentellen Dart-Admin SDK können Sie über Ihre Funktion mit anderen Firebase-Diensten wie Cloud Firestore 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
onCall-Trigger kann bereitgestellt, aber nicht über Client-SDKs mit Methoden wie httpsCallable aufgerufen werden, bei denen Funktionen anhand des Namens identifiziert werden. Stattdessen können Sie Methoden wie httpsCallableFromURL verwenden und die vollständige Cloud Run-URL Ihrer Funktion übergeben. - Andere Trigger wie Firestore-Trigger können in der lokalen Emulator Suite ausgeführt, aber nicht bereitgestellt werden.
- In der Firebase-Konsole werden während der experimentellen Veröffentlichung keine Dart-Funktionen angezeigt. Dart-Funktionen können Sie stattdessen auf der Seite Cloud Run-Funktionen der Cloud-Konsole aufrufen.
Wenn Sie Probleme bei der Arbeit mit Dart-Funktionen feststellen, senden Sie dem Team bitte einen Bericht, damit wir das experimentelle Dart SDK verbessern und erweitern können.