Eksperymentalna obsługa języka Dart w Cloud Functions for Firebase umożliwia tworzenie aplikacji full-stack za pomocą Fluttera i Darta. Komunikuj się z innymi usługami Firebase za pomocą nowego pakietu Firebase Admin Dart SDK.
Aby zacząć korzystać z funkcji Dart, wykonaj czynności konfiguracyjne opisane w tym przewodniku, a następnie zapoznaj się z funkcjami HTTP i funkcjami wywoływanymi w języku Dart.
Wymagania wstępne
- Dart SDK w wersji 3.9 lub nowszej
- Firebase CLI (wersja 15.15.0 lub nowsza)
Sprawdź, czy masz wersję interfejsu wiersza poleceń Firebase, która obsługuje Dart w Cloud Functions for Firebase z flagą --version:
`firebase --version`
Włączanie eksperymentu w interfejsie wiersza poleceń Firebase
firebase experiments:enable dartfunctions
Inicjowanie projektu
Uruchomienie:
firebase init functionsWybierz Dart jako język.
Na 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 punkcie wejścia). Ten kod przedstawia prostą funkcję HTTP.
Zwróć uwagę, ż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 functions http function initialized
(http://127.0.0.1:5001/<url>). Wczytaj ten adres URL w przeglądarce, aby wywołać lokalnie emulowaną funkcję Dart.
Jeśli zmodyfikujesz kod Dart, Firebase Local Emulator Suite wykryje zmianę i automatycznie ponownie załaduje funkcję.
Wdróż
firebase deploy --only functions
Proces wdrażania Dart różni się od funkcji Node.js lub Python. Zamiast przesyłać kod źródłowy do skompilowania w Cloud Build, interfejs wiersza poleceń Firebase uruchamia krok kompilacji Dart na komputerze używanym do programowania i przesyła wygenerowany plik binarny bezpośrednio do funkcji Cloud Run.
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
Wczytaj 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 funkcjach wywoływalnych.
- Wykonaj ćwiczenie w Codelabs dotyczące funkcji Dart Ćwiczenie w Codelabs dotyczące funkcji Dart
- Użyj eksperymentalnego 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ładową funkcjęonCalllubonCallze strumieniowaniem, aby wywoływać funkcje bezpośrednio z aplikacji (pamiętaj o specjalnym ograniczeniu dotyczącym 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 funkcji Cloud Run. - Inne aktywatory, takie jak aktywatory Firestore, można uruchamiać w pakiecie emulatorów lokalnych, ale nie można ich wdrażać.
- W wersji eksperymentalnej konsola Firebase nie wyświetla funkcji Dart. Funkcje Dart możesz wyświetlić na stronie funkcji Cloud Run w konsoli Cloud.
Jeśli podczas pracy z funkcjami Dart napotkasz problemy, zachęcamy do wysłania zespołowi raportu, który pomoże nam ulepszyć i rozszerzyć eksperymentalny pakiet Dart SDK.