Zacznij korzystać z Firebase Data Connect lokalnie

Z tego krótkiego wprowadzenia dowiesz się, jak wdrożyć usługę Firebase Data Connect możesz uruchamiać ją lokalnie bez konfigurowania produkcyjnej instancji SQL.

  • Dodaj Firebase Data Connect do projektu Firebase.
  • Skonfiguruj środowisko programistyczne, w tym rozszerzenie Visual Studio Code, aby pracować z lokalną instancją.
  • Następnie pokażemy Ci, jak:
    • Utwórz schemat aplikacji filmowej
    • zdefiniuj zapytania i mutacje, które będą używane w aplikacji;
    • Testowanie zapytań i mutacji za pomocą przykładowych danych w porównaniu z lokalnym emulatorem
    • Generowanie pakietów SDK o ściśle określonym typie i ich używanie w aplikacji
    • Wdróż ostateczny schemat, zapytania i dane w chmurze (opcjonalnie; wymagany abonament Blaze).

Wymagania wstępne

Aby skorzystać z tego krótkiego wprowadzenia, musisz mieć:

Konfigurowanie środowiska programistycznego

Do zarządzania schematem i definiowania zapytań potrzebujesz Visual Studio Code. które zostaną użyte w aplikacji, a pakiet SDK o silnym typie wygenerowane automatycznie:

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

Konfigurowanie katalogu projektu

Aby skonfigurować projekt lokalny, zainicjuj katalog projektu. W panelu po lewej stronie w VS Code kliknij ikonę Firebase, aby otworzyć interfejs Data Connect w rozszerzeniu VS Code:

  1. Kliknij przycisk Zaloguj się przez Google.
  2. Kliknij przycisk Połącz z projektem Firebase i wybierz projekt, którego chcesz używać. utworzony wcześniej w konsoli.
  3. Kliknij przycisk Uruchom aplikację Firebase init.
  4. Kliknij przycisk Uruchom emulatory.

Tworzenie schematu

W katalogu projektu Firebase w pliku /dataconnect/schema/schema.gql zacznij definiować schemat GraphQL dotyczący filmów.

Film

W Data Connect pola GraphQL są mapowane na kolumny. Film ma id, title, imageUrl i genre. Data Connect rozpoznaje element podstawowy typy danych: String i UUID.

Skopiuj ten fragment kodu lub odkomentuj odpowiednie wiersze w pliku.

# By default, a UUID id key will be created by default as primary key.
# If you want to specify a primary key, say title, which you can do through
# the @table(key: "title") directive
type Movie @table {
  id: UUID! @default(expr: "uuidV4()")
  title: String!
  imageUrl: String!
  genre: String
}

Metadane filmu

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
}

Zauważ, że pole movie jest zmapowane na typ Movie. Data Connect rozumie, że jest to relacja między Movie i MovieMetadata będą zarządzać tą relacjami za Ciebie.

Więcej informacji o schematach Data Connect znajdziesz w dokumentacji

Dodawanie danych do tabel

W panelu edytora VS Code zobaczysz przyciski CodeLens nad typami GraphQL w /dataconnect/schema/schema.gql. Za pomocą opcji Dodaj dane i Uruchom (lokalnie) dodają dane do lokalnej bazy danych.

Aby dodać rekordy do tabel MovieMovieMetadata:

  1. schema.gql nad deklaracją typu Movie kliknij przycisk Dodaj dane.
    Przycisk dodawania danych Obiektywu do danych dla Firebase Data Connect
  2. W wygenerowanym pliku Movie_insert.gql zakoduj na stałe dane dla tych 3 pol.
  3. Kliknij przycisk Uruchom (lokalnie).
    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 movie uid filmu zgodnie z wytycznymi w wygenerowanej mutacji MovieMetadata_insert.

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

  1. schema.gql kliknij przycisk Odczytaj dane.
  2. Aby wykonać zapytanie, w wygenerowanym pliku Movie_read.gql kliknij przycisk Uruchom (lokalnie).

Więcej informacji o mutacjach Data Connect znajdziesz w dokumentacji

Zdefiniuj zapytanie

Teraz najciekawsza część: teraz zdefiniujmy zapytania, które będą potrzebne w Twojej aplikacji. 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. Podobnie jak w przypadku 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.

Bardzo ciekawą funkcją jest możliwość traktowania takie jak graf. Ponieważ MovieMetadata ma pole movie, które odwołuje się do filmu, możesz użyć tego pola, aby uzyskać informacje o filmie. Spróbuj dodać wygenerowany typ movieMetadata_on_movie do Zapytanie ListMovies.

query ListMovies @auth(level: PUBLIC) {
  movies {
    id
    title
    imageUrl
    genre
    movieMetadata_on_movie {
        rating
    }
  }
}

Więcej informacji o zapytaniach Data Connect znajdziesz w dokumentacji

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

W panelu VS Code po lewej stronie kliknij ikonę Firebase, aby otworzyć Interfejs rozszerzenia Data Connect VS Code:

  1. Kliknij przycisk Dodaj pakiet SDK do aplikacji.
  2. W wyświetlonym oknie dialogowym wybierz katalog zawierający kod dla Twojej aplikacji. Data Connect Kod SDK zostanie wygenerowany i zapisane.

  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 klienta aplikacji (internet, na Androida, iOS lub Flutter).

Wdrażanie schematu i zapytania do wersji produkcyjnej

Po skonfigurowaniu aplikacji lokalnie możesz wdrożyć w chmurze schemat, dane i zapytania. Aby skonfigurować abonament Blaze, instancji Cloud SQL.

  1. Otwórz sekcję Data Connect w konsoli Firebase i utwórz bezpłatną wersję próbną instancji Cloud SQL.

  2. W zintegrowanym z kodem VS Code Terminal uruchom polecenie firebase init dataconnect, wybierz region/identyfikator usługi utworzony przed chwilą w konsoli.

  3. Gdy pojawi się komunikat "Plik dataconnect/dataconnect.yaml już istnieje, czy chcesz go zastąpić?", wybierz "Y" (tak).

  4. W interfejsie rozszerzenia Data Connect VS Code kliknij Wdróż w środowisku produkcyjnym Przycisk

  5. 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.

Dalsze kroki

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

  • Dodawaj dane do bazy danych, sprawdzaj i modyfikuj schematy oraz monitoruj usługę Data Connect w konsoli Firebase.

Więcej informacji znajdziesz w dokumentacji. Na przykład: jeśli ukończono krótkie wprowadzenie: