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
- Lauf:
bash firebase init functions - Wä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.