Wiersz poleceń Firebase umożliwia zarządzanie projektami Firebase w lokalnym katalogu projektu z kontrolą wersji. Obejmuje to usługi Data Connectw Twoich projektach, łączniki do tych usług oraz zasoby takie jak schemat, zapytania i źródła mutacji dla każdego łącznika. Interfejs wiersza poleceń umożliwia też instalację i obsługę emulatora Firebase Data Connect. Interfejs wiersza poleceń to efektywna alternatywa dla pracy w konsoli Firebase.
Instrukcje instalacji eksperymentu interfejsu wiersza poleceń Firebase w ramach programu Private Preview oraz polecenia interfejsu wiersza poleceń związane z Data Connect znajdziesz w dokumentacji interfejsu wiersza poleceń.
W tym przewodniku znajdziesz informacje o:
- Wpisy dotyczące Data Connect w pliku konfiguracji projektu
firebase.json
. - Konfiguracje Data Connect w usługach
dataconnect.yaml
iconnector.yaml
. - Role uprawnień, które musisz skonfigurować w przypadku projektów korzystających z poziomu uprawnień Data Connect.
Pliki konfiguracji projektu Firebase
Plik konfiguracji firebase.json
Użyj kluczy dataconnect
, aby skonfigurować co najmniej 1 usługę Data Connect w projekcie.
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
Plik konfiguracji dataconnect.yaml
Plik dataconnect.yaml
przechowuje informacje o konfiguracji dotyczące lokalizacji źródeł schematu aplikacji, źródeł oprogramowania sprzęgającego i informacji o połączeniu źródła danych. Plik ten służy też jako wskaźnik katalogu projektu dla interfejsu wiersza poleceń Firebase.
Klucz schemaValidation
określa poziom weryfikacji schematu przeprowadzanej podczas migracji schematów podczas wdrażania. Jeśli nie ustawisz żadnej wartości, polecenie dataconect:sql:migrate
zastosuje zgodne zmiany i wyświetli komunikat przed wykonaniem ścisłych zmian. Po ustawieniu zachowanie jest następujące:
STRICT
. Zanim schemat aplikacji zostanie wdrożony, musi dokładnie odpowiadać schematowi bazy danych. Wszystkie tabele i kolumny, które nie są używane w schemacie Data Connect, zostaną usunięte z bazy danych.COMPATIBLE
. Zanim schemat aplikacji zostanie wdrożony, musi być zgodny ze schematem bazy danych. Dodatkowe zmiany są opcjonalne. Zgodność oznacza, że migracje schematu są oparte na napisanym przez Ciebie schemacie aplikacji. Elementy w bazie danych, które nie są używane przez schemat aplikacji, pozostają niezmodyfikowane. Dlatego po wdrożeniu backend może zawierać nieużywane schematy, tabele i kolumny.
Wartości innych kluczy w tym pliku są opisane w komentarzach poniżej.
# 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]
Plik YAML zakłada domyślną (ale konfigurowalną) strukturę katalogu:
./(project root)
/dataconnect
dataconnect.yaml
/schema
*.gql
/connector
connector.yaml
*.gql
Informacje o pliku konfiguracyjnym connector.yaml
Użyj connector.yaml
, aby skonfigurować domyślny tryb uwierzytelniania i opcje generowania pakietu 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
Konfiguracja uprawnień w przypadku projektów Data Connect
Szczegółowe role uprawnień w przypadku Data Connect
Role podstawowe i wstępnie zdefiniowane w Firebase są mapowane na role niższych poziomów Data Connect. Informacje o mapowaniu znajdziesz w tabeli.
Aby zarządzać przypisaniem poszczególnych ról uprawnień do Data Connect na bardziej szczegółowym poziomie, użyj konsoli Google Cloud.
Rola uprawnień | Uprawnienia |
---|---|
firebasedataconnect.googleapis.com/admin Administrator interfejsu Firebase Data Connect API Ta rola obejmuje także uprawnienia Wyświetlający interfejs Firebase Data Connect API. Jest to równoważne funkcji firebasedataconnect.* .Mają je użytkownicy z przypisaną rolą Właściciel Cloud, Edytujący Cloud, Administrator Firebase i Administrator Firebase Develop. |
Pełny dostęp do zasobów interfejsu Firebase Data Connect API, w tym do danych.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 Wyświetlający interfejs Firebase Data Connect API Ta rola jest dostępna dla właściciela Cloud, edytora Cloud, widzewnika Cloud, administratora Firebase, widza Firebase, administratora Firebase Develop i widzewnika Firebase Develop. |
Dostęp tylko do odczytu do zasobów interfejsu Firebase Data Connect API. Rola nie daje dostępu do danych.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 Administrator danych interfejsu Firebase Data Connect API Ta rola jest dostępna dla właściciela i edytującego w chmurze oraz dla administratorów Firebase i Firebase Develop. |
Pełne uprawnienia do odczytu i zapisu do źródeł danych.firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead
|
firebasedataconnect.googleapis.com/dataViewer Wyświetlający dane interfejsu Firebase Data Connect API Ta rola jest dostępna dla właściciela i edytującego w chmurze oraz administratora i administratora Firebase Develop. |
Dostęp tylko do odczytu do źródeł danych.firebasedataconnect.googleapis.com/services.executeGraphqlRead
|