Inizia a utilizzare Firebase Data Connect

In questa guida rapida, imparerai a creare Firebase Data Connect nella tua applicazione con un'istanza SQL di produzione. Imparerai a:

  • Aggiungi Firebase Data Connect al tuo progetto Firebase.
  • Esegui il provisioning di un'istanza Cloud SQL per la tua app.
  • Configura un ambiente di sviluppo che includa un'estensione di Visual Studio Code per lavorare con un'istanza di produzione.
  • Ti mostreremo come:
    • Creare uno schema per un'app di film
    • Definisci le query e le mutazioni che verranno utilizzate nella tua app
    • Prova le query e le mutazioni con dati di esempio
    • Genera SDK fortemente tipizzati e utilizzali nella tua app
    • Esegui il deployment dello schema, delle query e dei dati finali nel cloud.

Crea un progetto Firebase e un database Cloud SQL

  1. Se non l'hai ancora fatto, crea un progetto Firebase.
    1. Nella console Firebase, fai clic su Aggiungi progetto, quindi segui le istruzioni sullo schermo.
  2. Vai alla sezione Data Connect della console Firebase e segui il flusso di lavoro di configurazione del prodotto.
  3. Esegui l'upgrade del progetto al piano Blaze. In questo modo puoi creare un'istanza Cloud SQL per PostgreSQL.

  4. Seleziona una posizione per il tuo database Cloud SQL per PostgreSQL.

  5. Prendi nota dei nomi e degli ID di progetto, servizio e database per la conferma in un secondo momento.

  6. Segui la procedura di configurazione rimanente e poi fai clic su Fine.

Scegli un flusso di sviluppo

Data Connect offre due modi per installare gli strumenti di sviluppo.

Prerequisiti

Per utilizzare questa guida rapida, devi avere quanto segue.

Configura l'ambiente di sviluppo

  1. Crea una nuova directory per il progetto locale.
  2. Apri VS Code nella nuova directory.
  3. Installa l'estensione Firebase Data Connect dal Visual Studio Marketplace.

Configura la directory del progetto

Per configurare il progetto locale, inizializza la directory del progetto. Nella finestra IDE, nel riquadro a sinistra, fai clic sull'icona di Firebase per aprire l'interfaccia utente dell'estensione VS Code di Data Connect:

  1. Fai clic sul pulsante Accedi con Google.
  2. Fai clic sul pulsante Collega un progetto Firebase e seleziona il progetto che hai creato in precedenza nella console.
  3. Fai clic sul pulsante Esegui firebase init e completa il flusso.
  4. Fai clic sul pulsante Avvia emulatori.

Crea uno schema

Nella directory del progetto Firebase, nel file /dataconnect/schema/schema.gql, inizia a definire uno schema GraphQL che includa i film.

Film

In Data Connect, i campi GraphQL vengono mappati alle colonne. Il tipo Movie contiene id, title, imageUrl e genre. Data Connect riconosce i tipi di dati primitivi String e UUID.

Copia lo snippet seguente o rimuovi il commento dalle righe corrispondenti nel file.

# 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

Ora che hai i film, puoi modellare i metadati dei film.

Copia lo snippet seguente o rimuovi il commento dalle righe corrispondenti nel file.

# 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
}

Tieni presente che il campo movie è mappato a un tipo di Movie. Data Connect è consapevole che si tratta di un rapporto tra Movie e MovieMetadata e gestirà questo rapporto per te.

Scopri di più sugli schemi di Data Connect nella documentazione

Esegui il deployment dello schema in produzione

Devi eseguire il deployment dello schema prima di continuare.

Nell'interfaccia utente dell'estensione, fai clic su Esegui il deployment in produzione nel riquadro Firebase Data Connect.

Dopo aver eseguito il deployment dello schema nel database di produzione, dovresti essere in grado di visualizzarlo nella console Firebase.

Aggiungere dati alle tabelle

Nel riquadro dell'editor IDE, puoi vedere i pulsanti CodeLens sopra i tipi GraphQL in /dataconnect/schema/schema.gql. Poiché hai eseguito il deployment del tuo schema in produzione, puoi utilizzare i pulsanti Aggiungi dati e Esegui (produzione) per aggiungere dati al database sul backend.

Per aggiungere record alla tabella Movie:

  1. In schema.gql, fai clic sul pulsante Aggiungi dati sopra la dichiarazione del tipo Movie.
    Pulsante Aggiungi dati di Code Lens per Firebase Data Connect
  2. Nel file Movie_insert.gql generato, inserisci in modo hardcoded i dati per i quattro campi.
  3. Fai clic sul pulsante Esegui (produzione).
    Pulsante Esegui di Code Lens per Firebase Data Connect
  4. Ripeti i passaggi precedenti per aggiungere un record alla tabella MovieMetadata, fornendo il id del film nel campo movieId, come richiesto nella mutazione MovieMetadata_insert generata.

Per verificare rapidamente che i dati siano stati aggiunti:

  1. Torna in schema.gql e fai clic sul pulsante Leggi dati sopra la dichiarazione di tipo Movie.
  2. Nel file Movie_read.gql risultante, fai clic sul pulsante Esegui (produzione) per eseguire la query.

Scopri di più sulle mutazioni di Data Connect nella documentazione

Definire la query

Ora passiamo alla parte divertente, le query. In qualità di sviluppatore, sei abituato a scrivere query SQL anziché query GraphQL, quindi all'inizio potrebbe sembrare un po' diverso. Tuttavia, GraphQL è molto più conciso e sicuro dal punto di vista del tipo rispetto a SQL non elaborato. La nostra estensione VS Code semplifica l'esperienza di sviluppo.

Inizia a modificare il file /dataconnect/connector/queries.gql. Se vuoi ottenere tutti i film, utilizza una query come questa.

# 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
  }
}

Esegui la query utilizzando il pulsante CodeLens nelle vicinanze.

Scopri di più sulle query Data Connect nella documentazione

Genera SDK e utilizzali nella tua app

  1. Fai clic sul pulsante Aggiungi SDK all'app.
  2. Nella finestra di dialogo visualizzata, seleziona una directory contenente il codice per la tua app. Il codice dell'SDK Data Connect verrà generato e salvato lì.

  3. Seleziona la piattaforma della tua app, quindi tieni presente che il codice SDK viene generato immediatamente nella directory selezionata.

Scopri come utilizzare l'SDK generato per chiamare query e mutazioni dalle app client (web, Android, iOS, Flutter).

Esegui il deployment dello schema e della query in produzione

Hai completato un'iterazione di sviluppo. Ora puoi eseguire il deployment di schema, dati e query sul server con l'interfaccia utente dell'estensione Firebase o con l'interfaccia a riga di comando Firebase, proprio come hai fatto con lo schema.

Nella finestra dell'IDE, nell'interfaccia utente dell'estensione VS Code, fai clic sul pulsante Esegui il deployment in produzione.

Una volta eseguito il deployment, vai alla console Firebase per verificare che lo schema, le operazioni e i dati siano stati caricati sul cloud. Dovresti essere in grado di visualizzare lo schema ed eseguire le operazioni anche sulla console. L'istanza Cloud SQL per PostgreSQL verrà aggiornata con lo schema e i dati generati di cui è stato eseguito il deployment finale.

Scopri di più sull'utilizzo dell'emulatore Data Connect nella documentazione

Passaggi successivi

Esamina il progetto di cui è stato eseguito il deployment e scopri altri strumenti:

  • Aggiungi dati al database, controlla e modifica gli schemi e monitora il servizio Data Connect nella console Firebase. Per ulteriori informazioni, consulta la documentazione. Ad esempio, poiché hai completato la guida rapida:

  • Scopri di più sullo sviluppo di schemi, query e mutazioni

  • Scopri come generare SDK client e chiamare query e mutazioni dal codice client per web, Android, iOS e Flutter.