La CLI Firebase vous permet de gérer vos projets Firebase dans un répertoire de projet local et contrôlable par version. Cela inclut les services Data Connect dans vos projets, les connecteurs pour ces services et les ressources telles que les sources de schéma, de requête et de mutation pour chaque connecteur. La CLI vous permet également d'installer et d'utiliser l'émulateur Firebase Data Connect. La CLI est une alternative efficace à l'utilisation de la console Firebase.
Pour savoir comment installer l'expérience CLI Firebase pour le programme Private Preview et les commandes CLI associées à Data Connect, consultez la documentation de référence de la CLI.
Ce guide de référence décrit :
- Entrées spécifiques à Data Connect dans le fichier de configuration du projet
firebase.json
. - Configurations Data Connect dans
dataconnect.yaml
etconnector.yaml
. - Rôles IAM à configurer pour vos projets qui utilisent Data Connect.
Fichiers de configuration du projet Firebase
Documentation de référence sur la configuration firebase.json
Utilisez les clés dataconnect
pour configurer un ou plusieurs services Data Connect dans votre projet.
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
Documentation de référence sur la configuration dataconnect.yaml
Le fichier dataconnect.yaml
stocke les informations de configuration sur les emplacements des sources de schéma d'application, des sources de connecteur et des informations de connexion à la source de données. Le fichier sert également d'indicateur de répertoire de projet pour la CLI Firebase.
La clé schemaValidation
contrôle le niveau de validation du schéma effectué lors de la migration des schémas pendant le déploiement. Si aucune valeur n'est définie, la commande dataconect:sql:migrate
applique les modifications compatibles et vous invite à confirmer avant d'exécuter les modifications strictes. Lorsque ce paramètre est défini, le comportement est le suivant :
- Mode
STRICT
. Le schéma de base de données doit correspondre exactement au schéma d'application avant que ce dernier puisse être déployé. Toutes les tables ou colonnes qui ne sont pas utilisées dans votre schéma Data Connect seront supprimées de la base de données. - Mode
COMPATIBLE
. Le schéma de base de données doit être compatible avec le schéma d'application avant que ce dernier puisse être déployé. Toute modification supplémentaire est considérée comme facultative. "Compatible" signifie que les migrations de schéma sont basées sur le schéma d'application que vous écrivez. Les éléments de votre base de données qui ne sont pas utilisés par le schéma de votre application ne sont pas modifiés. Par conséquent, après le déploiement, votre backend peut contenir des schémas, des tables et des colonnes inutilisés.
Les valeurs des autres clés de ce fichier sont expliquées dans les commentaires ci-dessous.
# The top-level Firebase Data Connect YAML file.
# The Firebase Data Connect API version to target.
# Optional. Defaults to the latest version.
specVersion: string
# The ID of the Firebase Data Connect service resource.
# Required.
serviceId: string
# The location of the Firebase Data Connect service.
# Required.
location: string
# Required.
schema:
# Relative path to directory for schema definitions.
# Recursively loads all .gql files in this directory.
# Optional. If not present, defaults to ./schema.
source: string
# Datasource connection information.
# Required.
datasource:
# Required.
postgresql:
# The name of the PostgreSQL database.
# Required.
database: string
cloudSql:
# The ID of the CloudSQL instance resource.
# Required.
instanceId: string
# Schema validation mode for schema migrations.
# Defaults to unspecified/commented out, meaning you are prompted to
# review all changes during migration.
# If desired, uncomment and indicate one of "STRICT" or "COMPATIBLE".
schemaValidation: string
# Required.
# Relative paths to directories for connector definitions.
# Recursively loads all .gql files in the listed directories.
# All directories specified MUST contain a connector.yaml file.
connectorDirs: [string]
Le fichier YAML suppose une structure de répertoire par défaut (mais configurable) :
./(project root)
/dataconnect
dataconnect.yaml
/schema
*.gql
/connector
connector.yaml
*.gql
Documentation de référence sur la configuration de connector.yaml
Utilisez connector.yaml
pour configurer le mode d'authentification par défaut et les options de génération du SDK.
# The connector-level YAML file.
# Required. The connector name of the Firebase Data Connect connector resource.
connectorId: string
# Optional. If not specified, no generated libraries (i.e. type-safe SDKs) will be generated.
generate:
# Optional.
javascriptSdk:
# Path to the directory that will be updated with the latest generated
# web SDK.
# Required.
- outputDir: string
# Path to your package.json directory. If specified, the new generated sdk will be installed in this path.
# Optional. If not provided, the package will not be auto-installed for you.
- packageJsonDir: string
# Name of the package to be created.
# Optional. Defaults to @firebasegen/<connectorID>
- package: string
<option>: string
# Optional.
swiftSdk:
# Path to the directory that will be updated with the latest generated
# iOS Swift SDK.
# Required.
- outputDir: string
# Name of the package to be created.
- package: string
<option>: string
# Optional.
kotlinSdk:
# Path to the directory that will be updated with the latest generated
# Android SDK.
# Required.
- outputDir: string
# Name of the package to be created.
- package: string
<option>: string
Configuration IAM pour les projets Data Connect
Rôles IAM précis pour Data Connect
Les rôles de base et prédéfinis Firebase correspondent à des rôles Data Connect de niveau inférieur. Consultez le tableau pour connaître le mappage.
Pour gérer les attributions de rôles IAM individuelles pour Data Connect de manière plus précise, utilisez la console Google Cloud.
Rôle IAM | Autorisations |
---|---|
firebasedataconnect.googleapis.com/admin Administrateur de l'API Firebase Data Connect Ce rôle inclut le rôle Lecteur de l'API Firebase Data Connect. Cela équivaut à firebasedataconnect.* .Cette autorisation est accordée par les rôles de propriétaire Cloud, d'éditeur Cloud, d'administrateur Firebase et d'administrateur de développement Firebase. |
Accès complet aux ressources de l'API Firebase Data Connect, y compris les données.firebasedataconnect.googleapis.com/operations.delete firebasedataconnect.googleapis.com/operations.cancel firebasedataconnect.googleapis.com/services.create firebasedataconnect.googleapis.com/services.update firebasedataconnect.googleapis.com/services.delete firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead firebasedataconnect.googleapis.com/schemas.create firebasedataconnect.googleapis.com/schemas.update firebasedataconnect.googleapis.com/schemas.delete firebasedataconnect.googleapis.com/schemaRevisions.create firebasedataconnect.googleapis.com/schemaRevisions.delete firebasedataconnect.googleapis.com/connectors.create firebasedataconnect.googleapis.com/connectors.update firebasedataconnect.googleapis.com/connectors.delete firebasedataconnect.googleapis.com/connectorRevisions.create firebasedataconnect.googleapis.com/connectorRevisions.delete
|
firebasedataconnect.googleapis.com/viewer Lecteur de l'API Firebase Data Connect Ce rôle est fourni par les rôles "Propriétaire du cloud", "Éditeur du cloud", "Lecteur du cloud", "Administrateur Firebase", "Lecteur Firebase", "Administrateur Firebase Develop" et "Lecteur Firebase Develop". |
Accès en lecture seule aux ressources de l'API Firebase Data Connect. Ce rôle ne permet pas d'accéder aux données.cloudresourcemanager.googleapis.com/projects.list cloudresourcemanager.googleapis.com/projects.get firebasedataconnect.googleapis.com/operations.list firebasedataconnect.googleapis.com/operations.get firebasedataconnect.googleapis.com/locations.list firebasedataconnect.googleapis.com/locations.get firebasedataconnect.googleapis.com/services.list firebasedataconnect.googleapis.com/services.get firebasedataconnect.googleapis.com/schemas.list firebasedataconnect.googleapis.com/schemas.get firebasedataconnect.googleapis.com/schemaRevisions.list firebasedataconnect.googleapis.com/schemaRevisions.get firebasedataconnect.googleapis.com/connectors.list firebasedataconnect.googleapis.com/connectors.get firebasedataconnect.googleapis.com/connectorRevisions.list firebasedataconnect.googleapis.com/connectorRevisions.get
|
firebasedataconnect.googleapis.com/dataAdmin Administrateur des données de l'API Firebase Data Connect Ce rôle est fourni par les rôles "Propriétaire du cloud", "Éditeur du cloud", "Administrateur Firebase" et "Administrateur de développement Firebase". |
Accès complet en lecture et en écriture aux sources de données.firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead
|
firebasedataconnect.googleapis.com/dataViewer Lecteur des données de l'API Firebase Data Connect Ce rôle est attribué par les rôles Propriétaire du cloud, Éditeur du cloud, Administrateur Firebase et Administrateur de développement Firebase. |
Accès en lecture seule aux sources de données.firebasedataconnect.googleapis.com/services.executeGraphqlRead
|