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
- Uruchom:
bash firebase init functions - Jako język wybierz Dart.
- 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 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ładonCalllubonCallz przesyłaniem strumieniowym przykład, aby wywoływać funkcje bezpośrednio z aplikacji (zwróć uwagę na specjalne ograniczenie dotyczące 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. Zamiast tego możesz wyświetlać funkcje Dart na stronie funkcji Cloud Run w Cloud konsoli.
Jeśli podczas pracy z funkcjami Dart napotkasz problemy, zachęcamy do przesłania zespołowi raportu aby pomóc nam ulepszyć i rozwinąć eksperymentalny pakiet Dart SDK.