Eksperymentalna obsługa języka Dart w Cloud Functions for Firebase umożliwia tworzenie aplikacji pełnostosowych za pomocą Fluttera i Darta. Komunikuj się z innymi usługami Firebase za pomocą nowego Firebase Admin Dart SDK.
Aby rozpocząć korzystanie z funkcji Dart, wykonaj zadania konfiguracyjne opisane w tym przewodniku, a następnie zapoznaj się z funkcjami HTTP i wywoływalnymi funkcjami Dart.
Wymagania wstępne
- Dart SDK w wersji 3.9 lub nowszej
- Firebase CLI (w wersji 15.15.0 lub nowszej)
Sprawdź, czy masz wersję Firebase CLI, która obsługuje język Dart w
Cloud Functions for Firebase używając flagi --version:
`firebase --version`
Włączanie eksperymentu w Firebase CLI
firebase experiments:enable dartfunctions
Zainicjuj projekt
Uruchomienie:
firebase init functionsWybierz język Dart.
Gdy pojawi się pytanie „Do you want to install dependencies now?” (Czy chcesz teraz zainstalować zależności?), odpowiedz „Yes” (Tak).
Wyświetlanie kodu funkcji
Wyświetl kod wygenerowany w functions/bin/server.dart (lub w punkcie wejścia). Ten kod przedstawia prostą funkcję HTTP.
Pamiętaj, że przykładowy kod ustawia maksymalną liczbę instancji funkcji helloWorld na 10 za pomocą konstruktora HttpsOptions. Więcej informacji o opcjach środowiska wykonawczego znajdziesz w artykule Ustawianie opcji środowiska wykonawczego.
Testowanie lokalne
firebase emulators:start
Po uruchomieniu Local Emulator Suite zobaczysz
wiersz dziennika podobny do tego: functions http function initialized
(http://127.0.0.1:5001/<url>). Załaduj ten adres URL w przeglądarce, aby wywołać lokalnie emulowaną funkcję Dart.
Jeśli edytujesz kod Dart, Firebase Local Emulator Suite wykryje zmianę i automatycznie ponownie załaduje funkcję.
Wdróż
firebase deploy --only functions
Proces wdrażania języka Dart różni się od procesu wdrażania funkcji Node.js lub Python. Zamiast przesyłać kod źródłowy do skompilowania w Cloud Build, Firebase CLI uruchamia krok kompilacji Dart na komputerze używanym do programowania i przesyła wygenerowany plik binarny bezpośrednio do Cloud Run Funkcji.
Po zakończeniu wdrażania zobaczysz wiersz dziennika podobny do tego: Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app
Załaduj ten adres URL w przeglądarce, aby wywołać nowo wdrożoną funkcję Dart.
Dalsze kroki
- Ustaw opcje konfiguracji takie jak minimalna liczba instancji.
- Dowiedz się więcej o funkcjach HTTP i wywoływalnych funkcjach.
- Wykonaj ćwiczenie w Codelabs dotyczące funkcji Dart Dart Functions codelab
- Użyj eksperymentalnego pakietu Dart Admin SDK, aby wchodzić w interakcje z innymi usługami Firebase, takimi jak Cloud Firestore, z poziomu funkcji.
- Oprócz funkcji HTTP
onRequestmożesz wypróbować przykładonCalllub przykładonCallze strumieniowaniem, aby wywoływać funkcje bezpośrednio z aplikacji (z uwzględnieniem specjalnego ograniczenia dotyczącego metody wywoływania).
Ograniczenia
- Aktywator
onCallmożna wdrożyć, ale nie można go wywołać z pakietów SDK klienta za pomocą metod takich jak httpsCallable, które identyfikują funkcje według nazwy. Zamiast tego możesz użyć metod takich jak httpsCallableFromURL i przekazać pełny adres URL Cloud Run funkcji. - Inne aktywatory, takie jak aktywatory Firestore, można uruchamiać w pakiecie Local Emulator Suite, ale nie można ich wdrożyć.
- W wersji eksperymentalnej Konsola Firebase nie wyświetla funkcji Dart. Funkcje Dart możesz wyświetlić na stronie funkcji Cloud Run w Cloud konsoli.
Jeśli podczas pracy z funkcjami Dart wykryjesz problemy, zachęcamy do przesłania zespołowi raportu aby pomóc nam ulepszyć i rozwinąć eksperymentalny pakiet Dart SDK.