L'interfaccia a riga di comando Firebase ti consente di gestire i tuoi progetti Firebase in una directory di progetto locale controllabile tramite il controllo delle versioni. Sono inclusi i servizi Data Connect nei tuoi progetti, i connettori per questi servizi e risorse come schema, query e origini delle mutazioni per ogni connettore. L'interfaccia a riga di comando ti consente anche di installare e utilizzare l'emulatore Firebase Data Connect. La CLI è un'alternativa efficiente all'utilizzo della console Firebase.
Per istruzioni sull'installazione dell'esperimento CLI Firebase per il programma di anteprima privata e sui comandi CLI correlati a Data Connect, consulta la documentazione di riferimento della CLI.
Questa guida di riferimento documenta:
- Voci specifiche di Data Connect nel file di configurazione del progetto
firebase.json
. - Configurazioni Data Connect in
dataconnect.yaml
econnector.yaml
. - Ruoli IAM che devi configurare per i progetti che utilizzano Data Connect.
File di configurazione del progetto Firebase
Riferimento alla configurazione di firebase.json
Utilizza i tasti dataconnect
per configurare uno o più servizi Data Connect nel tuo progetto.
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
Riferimento alla configurazione di dataconnect.yaml
Il file dataconnect.yaml
memorizza le informazioni di configurazione sulle posizioni
delle origini dello schema dell'applicazione, delle origini del connettore e delle informazioni
di connessione dell'origine dati. Il file funge anche da indicatore della directory del progetto per la
CLI Firebase.
Il tasto schemaValidation
controlla il livello di convalida dello schema eseguita
quando gli schemi vengono migrati durante il deployment. Se non è impostato alcun valore, il comportamento
del comando dataconect:sql:migrate
consiste nell'applicare le modifiche compatibili e richiedere
la tua approvazione prima di eseguire modifiche rigorose. Se impostato, il comportamento è il seguente:
- modalità
STRICT
. Lo schema del database deve corrispondere esattamente allo schema dell'applicazione prima di poter essere implementato. Tutte le tabelle o colonne non utilizzate nello schema Data Connect verranno eliminate dal database. - modalità
COMPATIBLE
. Lo schema del database deve essere compatibile con lo schema dell'applicazione prima che quest'ultimo possa essere implementato; eventuali modifiche aggiuntive sono considerate facoltative. Compatibile significa che le migrazioni dello schema si basano sullo schema dell'applicazione che scrivi. Gli elementi del tuo database che non vengono utilizzati dallo schema dell'applicazione vengono lasciati invariati. Pertanto, dopo il deployment, il backend potrebbe contenere schemi, tabelle e colonne inutilizzati.
I valori per le altre chiavi in questo file sono spiegati nei commenti riportati di seguito.
# 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]
Il file YAML presuppone una struttura di directory predefinita (ma configurabile) di:
./(project root)
/dataconnect
dataconnect.yaml
/schema
*.gql
/connector
connector.yaml
*.gql
Riferimento alla configurazione di connector.yaml
Utilizza connector.yaml
per configurare la modalità di autenticazione predefinita e le opzioni di generazione dell'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
Configurazione IAM per i progetti Data Connect
Ruoli IAM granulari per Data Connect
I ruoli di base e predefiniti di Firebase vengono mappati a ruoli Data Connect di livello inferiore. Consulta la tabella per la mappatura.
Per gestire le singole assegnazioni di ruoli IAM per Data Connect a un livello più granulare, utilizza la console Google Cloud.
Ruolo IAM | Autorizzazioni |
---|---|
firebasedataconnect.googleapis.com/admin Firebase Data Connect API Admin Questo ruolo include Firebase Data Connect API Viewer. È equivalente a firebasedataconnect.* .Questo è fornito dai ruoli Proprietario cloud, Editor cloud, Amministratore Firebase e Amministratore Firebase Develop. |
Accesso completo alle risorse dell'API Firebase Data Connect, inclusi i dati.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 Firebase Data Connect API Viewer Questo ruolo è fornito dai ruoli Proprietario progetto, Editor progetto, Visualizzatore progetto, Amministratore Firebase, Visualizzatore Firebase, Amministratore sviluppo Firebase e Visualizzatore sviluppo Firebase. |
Accesso di sola lettura alle risorse dell'API Firebase Data Connect. Il ruolo non concede
l'accesso ai dati.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 Firebase Data Connect API Data Admin Questo ruolo viene fornito dai ruoli Proprietario cloud, Editor cloud, Amministratore Firebase e Amministratore Firebase Develop. |
Accesso completo in lettura e scrittura alle origini dati.firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead
|
firebasedataconnect.googleapis.com/dataViewer Firebase Data Connect API Data Viewer Questo ruolo è fornito dai ruoli Proprietario cloud, Editor cloud, Amministratore Firebase e Amministratore sviluppo Firebase. |
Accesso in sola lettura alle origini dati.firebasedataconnect.googleapis.com/services.executeGraphqlRead
|