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ć:
- Linux, macOS lub Windows
- Visual Studio Code
- Zainstaluj Node.js za pomocą nvm-windows w systemie Windows lub nvm w systemie macOS lub Linux.
- Jeśli jeszcze nie masz projektu Firebase, utwórz go w Firebase.
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:
- Utwórz nowy katalog dla projektu lokalnego.
- Otwórz VS Code w nowym katalogu.
- 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:
- Kliknij przycisk Zaloguj się przez Google.
- Kliknij przycisk Połącz z projektem Firebase i wybierz projekt, którego chcesz używać. utworzony wcześniej w konsoli.
- Kliknij przycisk Uruchom aplikację Firebase init.
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 Movie
i MovieMetadata
:
- W
schema.gql
nad deklaracją typuMovie
kliknij przycisk Dodaj dane. - W wygenerowanym pliku
Movie_insert.gql
zakoduj na stałe dane dla tych 3 pol. - Kliknij przycisk Uruchom (lokalnie).
- Powtórz poprzednie czynności, aby dodać rekord do tabeli
MovieMetadata
, podając w polumovie
uid
filmu zgodnie z wytycznymi w wygenerowanej mutacjiMovieMetadata_insert
.
Aby szybko sprawdzić, czy dane zostały dodane:
- W
schema.gql
kliknij przycisk Odczytaj dane. - 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:
- Kliknij przycisk Dodaj pakiet SDK do aplikacji.
W wyświetlonym oknie dialogowym wybierz katalog zawierający kod dla Twojej aplikacji. Data Connect Kod SDK zostanie wygenerowany i zapisane.
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.
Otwórz sekcję Data Connect w konsoli Firebase i utwórz bezpłatną wersję próbną instancji Cloud SQL.
W zintegrowanym z kodem VS Code Terminal uruchom polecenie firebase init dataconnect, wybierz region/identyfikator usługi utworzony przed chwilą w konsoli.
Gdy pojawi się komunikat "Plik dataconnect/dataconnect.yaml już istnieje, czy chcesz go zastąpić?", wybierz "Y" (tak).
W interfejsie rozszerzenia Data Connect VS Code kliknij Wdróż w środowisku produkcyjnym Przycisk
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:
- Dowiedz się więcej o rozwijaniu schematu, zapytania i mutacji.
- Dowiedz się więcej o generowaniu pakietów SDK klienta i wywoływaniu zapytań i mutacji z kodu klienta na stronie, Androidzie, iOS i Flutterze.