L'interfaccia a riga di comando Firebase ti consente di gestire i progetti Firebase in un ambiente della versione con controllo della versione. Sono inclusi Data Connect servizi nei tuoi progetti, connettori per questi servizi e risorse come origini di schema, query e mutazione per ciascun connettore. L'interfaccia a riga di comando ti consente inoltre di installare e utilizzare l'emulatore Firebase Data Connect. La CLI è un'alternativa efficace per lavorare nella console Firebase.
Per istruzioni sull'installazione dell'esperimento dell'interfaccia a riga di comando Firebase per il programma Private Preview e sui comandi dell'interfaccia a riga di comando relativi a Data Connect, consulta il riferimento all'interfaccia a riga di comando.
Questa guida di riferimento illustra:
- Voci specifiche per Data Connect nel tuo progetto
firebase.json
di configurazione del deployment. - Configurazioni Data Connect in
dataconnect.yaml
econnector.yaml
. - Ruoli IAM da configurare per i progetti che utilizzano Data Connect.
File di configurazione del progetto Firebase
Riferimento per la configurazione di firebase.json
Usa i tasti dataconnect
per configurare uno o più Data Connect
dei servizi nel tuo progetto.
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
Riferimento per la configurazione dataconnect.yaml
Il file dataconnect.yaml
archivia le informazioni di configurazione sulle località
di origini dello schema delle applicazioni, origini dei connettori e connessione dell'origine dati
informazioni. Il file funge anche da indicatore della directory di progetto per il
Interfaccia a riga di comando Firebase.
La chiave schemaValidation
controlla il livello di convalida dello schema eseguito
quando viene eseguita la migrazione degli schemi
durante il deployment. Se non viene impostato alcun valore, il comportamento del comando dataconect:sql:migrate
è applicare modifiche compatibili e chiederti conferma 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 che quest'ultimo possa essere implementato. Qualsiasi tabelle o colonne non utilizzate nello schema Data Connect verrà eliminato dal database. - Modalità
COMPATIBLE
. Lo schema del database deve essere compatibile con schema dell'applicazione prima che possa essere eseguito il deployment di quello schema dell'applicazione. qualsiasi Altre modifiche sono considerate facoltative. Con compatibile si intende che le migrazioni dello schema si basano sullo schema dell'applicazione che scrivi. Gli elementi del 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 delle 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 per la configurazione di Connector.yaml
Utilizza connector.yaml
per configurare la modalità di autenticazione predefinita e la generazione dell'SDK
le opzioni di CPU e memoria disponibili.
# 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 i ruoli predefiniti di Firebase sono mappati al livello inferiore Data Connect ruoli. Fai riferimento alla tabella per il mapping.
Per gestire le singole assegnazioni dei ruoli IAM per Data Connect in un secondo momento livello granulare, utilizza la console Google Cloud.
Ruolo IAM | Autorizzazioni |
---|---|
firebasedataconnect.googleapis.com/admin Amministratore API Firebase Data Connect Questo ruolo include Visualizzatore API Firebase Data Connect. Equivale a firebasedataconnect.* .Fornito dal proprietario del cloud, Cloud Editor, Ruoli amministratore Firebase e Amministratore sviluppo Firebase. |
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 Visualizzatore API Firebase Data Connect Questo ruolo è fornito dai ruoli Proprietario cloud, Editor cloud, Visualizzatore cloud, Firebase Admin, Firebase Viewer, Firebase Develop Admin e Firebase Develop Viewer. |
Accesso di sola lettura alle risorse dell'API Firebase Data Connect. Il ruolo non
concedere 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 Amministratore dati dell'API Firebase Data Connect Fornito dal proprietario del cloud, Cloud Editor, Ruoli amministratore Firebase e Amministratore sviluppo Firebase. |
Accesso completo in lettura e scrittura alle origini dati.firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead
|
firebasedataconnect.googleapis.com/dataViewer Visualizzatore dati dell'API Firebase Data Connect Fornito dal proprietario del cloud, Cloud Editor, Ruoli amministratore Firebase e Amministratore sviluppo Firebase. |
Accesso di sola lettura alle origini dati.firebasedataconnect.googleapis.com/services.executeGraphqlRead
|