Eksperymentalna obsługa Darta w Cloud Functions for Firebase umożliwia tworzenie aplikacji typu full-stack za pomocą Fluttera i Darta. Komunikuj się z innymi usługami Firebase za pomocą nowego Firebasepakietu 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ływanymi w Dart.
Wymagania wstępne
- Pakiet SDK Dart w wersji 3.9 lub nowszej
- Firebase CLI (wersja 15.15.0 lub nowsza)
Sprawdź, czy masz wersję interfejsu Firebase CLI, która obsługuje język Dart w Cloud Functions for Firebase z użyciem flagi --version:
`firebase --version`
Włącz eksperyment w interfejsie Firebase CLI
firebase experiments:enable dartfunctions
Zainicjuj projekt
- Bieg:
bash firebase init functions - Wybierz język 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.
Zwróć uwagę, że w przykładowym kodzie maksymalna liczba instancji funkcji helloWorld jest ustawiona 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>). Załaduj ten adres URL w przeglądarce, aby wywołać lokalnie emulowaną funkcję Dart.
Jeśli edytujesz kod w Dart, Firebase Local Emulator Suite wykryje zmianę i automatycznie ponownie załaduje funkcję.
Wdróż
firebase deploy --only functions
Proces wdrażania w przypadku funkcji w Dart różni się od wdrażania funkcji w Node.js lub Pythonie. Zamiast przesyłać kod źródłowy do kompilacji 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 w logu wiersz 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 funkcjach wywoływanych.
- Wykonaj ćwiczenia z programowania dotyczące funkcji Dart Dart Functions codelab
- Użyj eksperymentalnego języka DartAdmin SDK, aby wchodzić w interakcje z innymi usługami Firebase, np. Cloud Firestore, z poziomu funkcji.
- Oprócz
onRequestfunkcji HTTP możesz wypróbowaćonCallprzykładową funkcję lubonCallprzykładową funkcję z przesyłaniem strumieniowym, aby wywoływać funkcje bezpośrednio z aplikacji (pamiętaj o specjalnym ograniczeniu dotyczącym metody wywoływania).
Ograniczenia
- Wywoływacz
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 wyzwalacze, np. wyzwalacze Firestore, można uruchamiać w lokalnym pakiecie emulatorów, ale nie można ich wdrażać.
- Konsola Firebase nie wyświetla funkcji Dart podczas eksperymentalnej wersji. Funkcje w Dart możesz wyświetlić na stronie funkcji w Cloud konsoli.Cloud Run
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 SDK Dart.