Pierwsze kroki z eksperymentalnym pakietem Dart SDK

Eksperymentalna obsługa języka Dart w Cloud Functions for Firebase umożliwia tworzenie pełnych aplikacji w Flutterze i Dart. Komunikuj się z innymi usługami Firebase za pomocą nowego Firebase pakietu Admin Dart SDK.

Aby rozpocząć korzystanie z funkcji Dart, wykonaj czynności konfiguracyjne opisane w tym przewodniku, a następnie zapoznaj się z funkcjami HTTP i wywoływanymi w Dart.

Wymagania wstępne

Sprawdź, czy masz wersję interfejsu Firebase CLI, która obsługuje język Dart w Firebase z flagą --version:Cloud Functions for Firebase

 `firebase --version`

Włącz eksperyment w interfejsie Firebase CLI

firebase experiments:enable dartfunctions

Inicjowanie projektu

  1. Uruchomienie:

    firebase init functions
    
  2. Wybierz język Dart.

  3. Na pytanie „Czy chcesz teraz zainstalować zależności?” odpowiedz „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 czasu działania znajdziesz w artykule Ustawianie opcji czasu działania.

Testowanie lokalne

firebase emulators:start

Po uruchomieniu Local Emulator Suite zobaczysz wiersz logu 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 edytujesz kod Dart, Firebase Local Emulator Suite wykryje zmianę i automatycznie ponownie załaduje funkcję.

Wdróż

firebase deploy --only functions

Proces wdrażania w przypadku 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, interfejs wiersza poleceń Firebase uruchamia krok kompilacji w języku 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

Ograniczenia

  • Wywoływacz onCall moż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ć.
  • W trakcie eksperymentalnego udostępniania Firebase konsola nie wyświetla funkcji Dart. Zamiast tego możesz wyświetlić funkcje Dart na stronie funkcji Cloud RunCloud 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 SDK Dart.