Premiers pas avec Firebase Data Connect

Dans ce guide de démarrage rapide, vous allez apprendre à créer Firebase Data Connect dans votre application.

  • Ajoutez Firebase Data Connect à votre projet Firebase.
  • Configurer un environnement de développement comprenant Visual Studio Extension de code pour fonctionner avec une instance de production.
  • Nous vous montrerons ensuite comment: <ph type="x-smartling-placeholder">
      </ph>
    • Créez un schéma pour une application de critique de film et déployez-la en production.
    • Définissez des requêtes et des mutations pour votre schéma.
    • Générer des SDK fortement typés et les utiliser dans votre application
    • Déployez votre schéma, votre requête et vos données finaux en production.

Prérequis

Pour suivre ce guide de démarrage rapide dans votre environnement local, vous avez besoin des éléments suivants :

Associer à votre projet Firebase

  1. Si vous ne l'avez pas déjà fait, créez un projet Firebase.
    1. Dans la console Firebase, cliquez sur Ajouter un projet, puis suivez les instructions à l'écran.
  2. Accédez à la section Data Connect de la console Firebase et suivez la procédure de configuration du produit.
  3. Passez à la formule Blaze pour votre projet. Cela vous permet de créer une instance pour l'instance PostgreSQL.

  4. Sélectionnez un emplacement pour votre base de données Cloud SQL pour PostgreSQL.

  5. Notez les noms et les ID du projet, du service et de la base de données pour confirmation plus tard.

  6. Suivez le reste de la procédure de configuration, puis cliquez sur OK.

Choisir et configurer un environnement de développement

Data Connect propose deux expériences de développement :

  • Si vous êtes un développeur Kotlin pour Android, iOS, Flutter ou le Web : vous pouvez utiliser le développement VS Code pour concevoir et tester des schémas et des opérations. localement lors de la connexion à votre instance Cloud SQL pour PostgreSQL.
  • Si vous êtes un développeur Web, vous pouvez utiliser IDX Development pour prototyper dans un espace de travail IDX à l'aide d'un modèle IDX préconfiguré avec PostgreSQL, Extension VS Code avec l'émulateur Data Connect et le client de démarrage rapide du code est configuré pour vous. Pour en savoir plus, consultez le site Project IDX.

Ce guide de démarrage rapide porte sur le flux de développement des extensions VS Code. Pour continuer:

  1. Créez un répertoire pour votre projet local.
  2. Ouvrez VS Code dans le nouveau répertoire.
  3. Installez l'extension Firebase Data Connect à partir de Visual Studio Code Marketplace.

Configurer votre projet local

Installez la CLI en suivant les instructions normales. Si vous utilisez npm déjà installé, exécutez la commande suivante:

npm install -g firebase-tools

Configurer le répertoire de votre projet

Pour configurer votre projet local, initialisez son répertoire.

Dans le panneau de gauche de VS Code, cliquez sur l'icône Firebase pour ouvrir l'interface utilisateur de l'extension Firebase VS Code.

  1. Cliquez sur le bouton Se connecter avec Google.
  2. Cliquez sur le bouton Connecter un projet Firebase, puis sélectionnez le projet que vous avez créé précédemment dans la console.
  3. Cliquez sur le bouton Run firebase init (Exécuter firebase init).
  4. Si votre projet utilise la formule Blaze, lorsque vous y êtes invité "Voulez-vous configurer vos ressources backend maintenant ?" répondez "Oui".
  5. Cliquez sur le bouton Start emulators (Démarrer les émulateurs).

Créer un schéma

Dans le répertoire de votre projet Firebase, sous /dataconnect/schema/schema.gql commencez à définir un schéma GraphQL incluant des films.

Film

Dans Data Connect, les champs GraphQL sont mappés à des colonnes. Le type Movie comporte id, title, imageUrl et genre. Data Connect reconnaît les types de données primitifs String et UUID.

Copiez l'extrait de code suivant ou annulez la mise en commentaire des lignes correspondantes dans le fichier.

# 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

Maintenant que vous avez des films, vous pouvez modéliser leurs métadonnées.

Copiez l'extrait suivant ou annulez la mise en commentaire des lignes correspondantes dans le fichier.

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

Notez que le champ movie est mappé sur un type Movie. Data Connect comprend qu'il s'agit d'une relation entre Movie et MovieMetadata, et gérera cette relation pour vous.

En savoir plus sur les schémas Data Connect dans la documentation

Déployer votre schéma en production

Si vous utilisez l'extension Firebase VS Code pour travailler avec votre base de données de production, vous devez déployer votre schéma avant de continuer. Après en déployant votre schéma dans votre base de données de production, vous devriez pouvoir visualiser le schéma dans la console.

  1. Vous pouvez utiliser l'extension VS Code Data Connect pour le déploiement.
    • Dans l'interface utilisateur de l'extension, sous le panneau Firebase Data Connect, cliquez sur Déployer en production.
  2. Vous devrez peut-être examiner les modifications de schéma et approuver les modifications potentiellement destructrices. Vous serez invité à :
    • Examiner les modifications apportées au schéma à l'aide de firebase dataconnect:sql:diff
    • Une fois que les modifications vous conviennent, appliquez-les à l'aide du flux démarré par firebase dataconnect:sql:migrate.

Ajouter des données à vos tableaux

Dans le panneau de l'éditeur VS Code, vous pouvez voir les boutons CodeLens apparaître au-dessus des types GraphQL dans /dataconnect/schema/schema.gql. Comme vous avez déployé votre schéma en production, vous pouvez utiliser les boutons Ajouter des données et Exécuter (Production) pour ajouter des données à votre base de données côté backend.

Pour ajouter des enregistrements à la table Movie:

  1. Dans schema.gql, cliquez sur le bouton Ajouter des données au-dessus du type Movie. déclaration.
    Bouton &quot;Ajouter des données&quot; de Code Lens pour Firebase Data Connect
  2. Dans le fichier Movie_insert.gql généré, codez en dur les données des quatre champs.
  3. Cliquez sur le bouton Run (Production) (Exécuter (Production)).
    Bouton d&#39;exécution de la loupe de code pour Firebase Data Connect

Pour vérifier rapidement que des données ont été ajoutées :

  1. De retour dans schema.gql, cliquez sur le bouton Lire les données.
  2. Dans le fichier Movie_read.gql généré, cliquez sur le bouton Run (Production) (Exécuter (production)) pour exécuter la requête.

En savoir plus sur les mutations Data Connect dans la documentation

Définir votre requête

Passons maintenant à la partie la plus intéressante : les requêtes. En tant que développeur, vous êtes habitué à écrire des requêtes SQL plutôt que des requêtes GraphQL. Cela peut donc sembler un peu différent au début. Toutefois, GraphQL est beaucoup plus concis et sécurisé que le code SQL brut. Et notre VS Code facilite l'expérience de développement.

Commencez à modifier le fichier /dataconnect/connector/queries.gql. Si vous souhaitez obtenir tous les films, utilisez une requête comme celle-ci.

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

Exécutez la requête à l'aide du bouton CodeLens à proximité.

En savoir plus sur les requêtes Data Connect dans la documentation

Générer des SDK et les utiliser dans votre application

  1. Cliquez sur le bouton Ajouter le SDK à l'application.
  2. Dans la boîte de dialogue qui s'affiche, sélectionnez un répertoire contenant le code de votre application. Data Connect. Le code du SDK sera généré et que vous y avez enregistrés.

  3. Sélectionnez la plate-forme de votre application, puis notez que le code du SDK est immédiatement généré dans le répertoire sélectionné.

Découvrez comment utiliser le SDK généré pour appeler des requêtes et des mutations à partir du client (Web, Android, iOS, Flutter).

Déployer le schéma et la requête en production

Vous avez effectué une itération de développement. Vous pouvez maintenant déployer votre schéma, données et requêtes au serveur à l'aide de l'API Firebase ou la CLI Firebase, comme vous l'avez fait avec votre schéma.

Si vous utilisez l'extension Firebase VS Code pour le déploiement, cliquez sur le bouton Déployer en production.

Une fois le déploiement effectué, accédez à la console Firebase pour vérifier que le schéma, les opérations et les données ont été importés dans le cloud. Toi doit pouvoir afficher le schéma et exécuter vos opérations sur la console en tant que bien. L'instance Cloud SQL pour PostgreSQL sera mise à jour avec son un schéma et des données générés déployés.

En savoir plus sur l'utilisation de l'émulateur Data Connect dans la documentation

Étapes suivantes

Examinez votre projet déployé et découvrez d'autres outils:

  • Ajoutez des données à votre base de données, inspectez et modifiez vos schémas, et surveillez votre service Data Connect dans la console Firebase. Pour en savoir plus, consultez la documentation. Par exemple, puisque vous avez terminé le guide de démarrage rapide:

  • En savoir plus sur le développement de schémas, de requêtes et de mutations

  • Découvrez comment générer des SDK client et appeler des requêtes et des mutations à partir du code client pour le Web, Android, iOS et Flutter.