Pierwsze kroki z Firebase Data Connect

Z tego krótkiego wprowadzenia dowiesz się, jak utworzyć Firebase Data Connect w aplikacji.

  • Dodaj Firebase Data Connect do projektu Firebase.
  • Skonfiguruj środowisko programistyczne, w tym rozszerzenie Visual Studio Code, aby pracować z produkcyjną instancją.
  • Następnie pokażemy Ci, jak:
    • Utwórz schemat dla aplikacji z opiniami o filmach i wdróż go w wersji produkcyjnej.
    • Zdefiniuj zapytania i mutacje dla schematu.
    • Generowanie pakietów SDK o ściśle określonym typie i ich używanie w aplikacji
    • Wdróż ostateczny schemat, zapytanie i dane w środowisku produkcyjnym.

Wymagania wstępne

Aby skorzystać z tego samouczka w środowisku lokalnym, musisz mieć:

Łączenie z projektem Firebase

  1. Jeśli nie masz jeszcze projektu Firebase, utwórz go.
    1. W konsoli Firebase kliknij Dodaj projekt i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
  2. Otwórz sekcję Data Connect w konsoli Firebase i postępuj zgodnie z procesem konfiguracji usługi.
  3. Przejdź w projekcie na abonament Blaze. Dzięki temu możesz utworzyć instancję Cloud SQL for PostgreSQL.

  4. Wybierz lokalizację bazy danych CloudSQL for PostgreSQL.

  5. Zapisz sobie nazwy i identyfikatory projektu, usługi i bazy danych, aby później je potwierdzić.

  6. Wykonaj pozostałe czynności konfiguracji, a potem kliknij Gotowe.

Wybieranie i konfigurowanie środowiska programistycznego

Data Connect obsługuje 2 metody tworzenia aplikacji:

  • Jeśli jesteś deweloperem Kotlin Android, iOS, Flutter lub web, możesz użyć VS Code do programowania, aby projektować i testować schematy oraz operacje lokalnie podczas łączenia się z instancją Cloud SQL for PostgreSQL.
  • Jeśli jesteś programistą internetowym, możesz użyć IDX Development do tworzenia prototypów w swojej IDX Workspace, korzystając z wstępnie skonfigurowanego szablonu IDX z PostgreSQL, rozszerzenia VS Code z emulatorem Data Connect oraz kodu klienta quickstart, który został dla Ciebie przygotowany. Więcej informacji znajdziesz na stronie projektu IDX.

W tym krótkim wprowadzeniu omówiono proces tworzenia rozszerzenia do VS Code. Aby kontynuować:

  1. Utwórz nowy katalog dla lokalnego projektu.
  2. Otwórz VS Code w nowym katalogu.
  3. Zainstaluj rozszerzenie Firebase Data Connect ze sklepu Visual Studio Code Marketplace.

Konfigurowanie projektu lokalnego

Zainstaluj interfejs wiersza poleceń, postępując zgodnie z zwykłymi instrukcjami. Jeśli masz już zainstalowany pakiet npm, uruchom to polecenie:

npm install -g firebase-tools

Konfigurowanie katalogu projektu

Aby skonfigurować projekt lokalny, zainicjuj katalog projektu.

W panelu po lewej stronie w VS Code kliknij ikonę Firebase, aby otworzyć interfejs rozszerzenia Firebase dla VS Code.

  1. Kliknij przycisk Zaloguj się przez Google.
  2. Kliknij przycisk Połącz z projektem Firebase i wybierz projekt utworzony wcześniej w konsoli.
  3. Kliknij przycisk Uruchom init Firebase.
  4. Jeśli Twój projekt jest objęty abonamentem Blaze, na pytanie "Czy chcesz teraz skonfigurować zasoby backendu?" odpowiedz "Tak".
  5. Kliknij przycisk Uruchom emulatory.

Tworzenie schematu

W katalogu projektu Firebase w pliku /dataconnect/schema/schema.gqlzacznij definiować schemat GraphQL, który zawiera filmy.

Film

W Data Connect pola GraphQL są mapowane na kolumny. Typ Movie: id, title, imageUrlgenre. Data Connectrozpoznaje prymitywne typy danych StringUUID.

Skopiuj ten fragment kodu lub odkomentuj odpowiednie wiersze w pliku.

# File `/dataconnect/schema/schema.gql`

# By default, a UUID id key will be created by default as primary key.
type Movie @table {
  id: UUID! @default(expr: "uuidV4()")
  title: String!
  imageUrl: String!
  genre: String
}

MovieMetadata

Teraz, gdy masz już filmy, możesz modelować metadane filmów.

Skopiuj ten fragment kodu lub odkomentuj odpowiednie wiersze w pliku.

# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
  # This time, we omit adding a primary key because
  # you can rely on Data Connect to manage it.

  # @unique indicates a 1-1 relationship
  movie: Movie! @unique
  # movieId: UUID <- this is created by the above reference
  rating: Float
  releaseYear: Int
  description: String
}

Zwróć uwagę, że pole movie jest zmapowane na typ Movie. Data Connect rozumie, że jest to relacja między Movie i MovieMetadata, i będzie zarządzać tą relacją w Twoim imieniu.

Więcej informacji o schematach Data Connect znajdziesz w dokumentacji

Wdrażanie schematu w gałęzi produkcyjnej

Jeśli do pracy z produkcyjną bazą danych używasz rozszerzenia Firebase do VS Code, przed kontynuacją musisz wdrożyć schemat. Po wdrożenie schematu do produkcyjnej bazy danych powinieneś mieć możliwość wyświetlenia go w konsoli.

  1. Do wdrożenia możesz użyć rozszerzenia Data Connect w VS Code.
    • W interfejsie rozszerzenia w panelu Firebase Data Connect kliknij Wdróż w wersji produkcyjnej.
  2. Może być konieczne sprawdzenie zmian w schemacie i zatwierdzenie potencjalnie szkodliwych modyfikacji. Pojawi się prośba o:
    • Sprawdzanie zmian schematu za pomocą firebase dataconnect:sql:diff
    • Gdy już wprowadzisz zmiany, zastosuj je za pomocą procesu rozpoczętego przezfirebase dataconnect:sql:migrate.

Dodawanie danych do tabel

W panelu edytora VS Code zobaczysz przyciski CodeLens nad typami GraphQL w /dataconnect/schema/schema.gql. Ponieważ schemat został wdrożony w produkcji, możesz użyć przycisków Dodaj daneUruchom (produkcja), aby dodać dane do bazy danych na zapleczu.

Aby dodać rekordy do tabeli Movie:

  1. schema.gql nad deklaracją typu Movie kliknij przycisk Dodaj dane.
    Przycisk Dodaj dane w Code Lens w przypadku Firebase Data Connect
  2. W wygenerowanym pliku Movie_insert.gql zakoduj na stałe dane dla tych 4 pol.
  3. Kliknij przycisk Uruchom (wersja produkcyjna).
    Przycisk Uruchom w Code Lens w przypadku Firebase Data Connect
  4. Powtórz poprzednie czynności, aby dodać rekord do tabeli MovieMetadata, podając w polu movieId id swojego filmu zgodnie z wytycznymi w wygenerowanej mutacji MovieMetadata_insert.

Aby szybko sprawdzić, czy dane zostały dodane:

  1. W pliku schema.gql kliknij przycisk Odczytaj dane nad deklaracją typu Movie.
  2. Aby wykonać zapytanie, w wygenerowanym pliku Movie_read.gql kliknij przycisk Uruchom (wersja produkcyjna).

Więcej informacji o mutacjach w Data Connect znajdziesz w dokumentacji

Definiowanie zapytania

Teraz czas na zabawę – zapytania. Jako programista jesteś przyzwyczajony do pisania zapytań SQL, a nie zapytań GraphQL, więc na początku może to być nieco dziwne. Jednak GraphQL jest znacznie bardziej zwięzły i bezpieczny pod względem typów niż zwykły SQL. Nasz dodatek do VS Code ułatwia programowanie.

Zacznij edytować plik /dataconnect/connector/queries.gql. Jeśli chcesz uzyskać wszystkie filmy, użyj takiego zapytania.

# File `/dataconnect/connector/queries.gql`

# @auth() directives control who can call each operation.
# Anyone should be able to list all movies, so the auth level
# is set to PUBLIC
query ListMovies @auth(level: PUBLIC) {
  movies {
    id
    title
    imageUrl
    genre
  }
}

Wykonaj zapytanie za pomocą przycisku CodeLens.

.

Więcej informacji o zapytaniach Data Connect znajdziesz w dokumentacji

Generowanie pakietów SDK i używanie ich w aplikacji

  1. Kliknij przycisk Dodaj pakiet SDK do aplikacji.
  2. W wyświetlonym oknie wybierz katalog z kodem aplikacji. Data Connect. Kod SDK zostanie wygenerowany i tam zapisany.

  3. Wybierz platformę aplikacji, a potem zwróć uwagę, że kod SDK zostanie natychmiast wygenerowany w wybranym katalogu.

Dowiedz się, jak używać wygenerowanego pakietu SDK do wywoływania zapytań i mutacji z aplikacji klienckich (internetowej, na Androida, na iOS, na Fluttera).

Wdrażanie schematu i zapytania do wersji produkcyjnej

Przeszedłeś przez iterację procesu tworzenia. Teraz możesz wdrożyć na serwer schemat, dane i zapytania za pomocą interfejsu Firebase Extension lub wiersza poleceń Firebase, tak jak w przypadku schematu.

Jeśli do wdrażania używasz rozszerzenia Firebase dla VS Code, kliknij przycisk Wdróż w wersji produkcyjnej.

Po wdrożeniu przejdź do konsoli Firebase, aby sprawdzić, czy schemat, operacje i dane zostały przesłane do chmury. W konsoli powinieneś mieć możliwość wyświetlania schematu i wykonywania operacji. Instancja Cloud SQL for PostgreSQL zostanie zaktualizowana o ostateczny wdrożony schemat i dane.

Więcej informacji o używaniu emulatora Data Connect znajdziesz w dokumentacji

Dalsze kroki

Sprawdź wdrożony projekt i odkryj więcej narzędzi: