CLI Firebase memungkinkan Anda mengelola project Firebase di direktori project lokal yang dapat dikontrol versi. Hal ini mencakup layanan Data Connect di project Anda, konektor untuk layanan tersebut, dan resource seperti skema, sumber kueri, dan mutasi untuk setiap konektor. CLI juga memungkinkan Anda menginstal dan mengoperasikan emulator Firebase Data Connect. CLI adalah alternatif yang efisien untuk bekerja di konsol Firebase.
Untuk petunjuk cara menginstal eksperimen Firebase CLI untuk program Pratinjau Pribadi, dan perintah CLI terkait Data Connect, lihat referensi CLI.
Panduan referensi ini mendokumentasikan:
- Entri khusus Data Connect dalam file konfigurasi project
firebase.json
Anda. - Konfigurasi Data Connect di
dataconnect.yaml
danconnector.yaml
. - Peran IAM yang harus Anda konfigurasi untuk project Anda yang menggunakan Data Connect.
File konfigurasi project Firebase
referensi konfigurasi firebase.json
Gunakan kunci dataconnect
untuk mengonfigurasi satu atau beberapa layanan Data Connect di project Anda.
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
Referensi konfigurasi dataconnect.yaml
File dataconnect.yaml
menyimpan informasi konfigurasi tentang lokasi
sumber skema aplikasi, sumber konektor, dan informasi koneksi
sumber data. File ini juga berfungsi sebagai penanda direktori project untuk CLI Firebase.
Kunci schemaValidation
mengontrol tingkat validasi skema yang dilakukan
saat skema dimigrasikan selama deployment. Tanpa nilai yang ditetapkan, perilaku
perintah dataconect:sql:migrate
adalah menerapkan perubahan yang kompatibel dan meminta
Anda sebelum menjalankan perubahan ketat apa pun. Jika ditetapkan, perilakunya adalah sebagai berikut:
- Mode
STRICT
. Skema database harus sama persis dengan skema aplikasi sebelum skema aplikasi dapat di-deploy. Semua tabel atau kolom yang tidak digunakan dalam skema Data Connect Anda akan dihapus dari database. - Mode
COMPATIBLE
. Skema database harus kompatibel dengan skema aplikasi sebelum skema aplikasi dapat di-deploy; perubahan tambahan apa pun dianggap opsional. Kompatibel berarti bahwa migrasi skema didasarkan pada skema aplikasi yang Anda tulis. Elemen dalam database Anda yang tidak digunakan oleh skema aplikasi Anda tidak akan diubah. Oleh karena itu, setelah deployment, backend Anda mungkin berisi skema, tabel, dan kolom yang tidak digunakan.
Nilai untuk kunci lain dalam file ini dijelaskan dalam komentar di bawah.
# 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]
File YAML mengasumsikan struktur direktori default (tetapi dapat dikonfigurasi) dari:
./(project root)
/dataconnect
dataconnect.yaml
/schema
*.gql
/connector
connector.yaml
*.gql
Referensi konfigurasi connector.yaml
Gunakan connector.yaml
untuk mengonfigurasi mode autentikasi default dan opsi pembuatan 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
Konfigurasi IAM untuk project Data Connect
Peran IAM terperinci untuk Data Connect
Peran dasar dan peran bawaan Firebase dipetakan ke peran Data Connect tingkat lebih rendah. Lihat tabel untuk pemetaan.
Agar dapat mengelola setiap penetapan peran IAM untuk Data Connect di level yang lebih terperinci, gunakan konsol Google Cloud.
Peran IAM | Izin |
---|---|
firebasedataconnect.googleapis.com/admin Firebase Data Connect API Admin Peran ini mencakup Firebase Data Connect API Viewer. Setara dengan firebasedataconnect.* .Hal ini disediakan oleh peran Cloud Owner, Cloud Editor, Firebase Admin, dan Firebase Develop Admin. |
Akses penuh ke resource Firebase Data Connect API, termasuk data.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 Peran ini diberikan oleh peran Cloud Owner, Cloud Editor, Cloud Viewer, Firebase Admin, Firebase Viewer, Firebase Develop Admin, dan Firebase Develop Viewer. |
Akses baca saja ke resource Firebase Data Connect API. Peran tidak
memberikan akses ke data.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 Peran ini diberikan oleh peran Cloud Owner, Cloud Editor, Firebase Admin, dan Firebase Develop Admin. |
Akses baca dan tulis penuh ke sumber data.firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead
|
firebasedataconnect.googleapis.com/dataViewer Pelihat Data Firebase Data Connect API Peran ini diberikan oleh peran Cloud Owner, Cloud Editor, Firebase Admin, dan Firebase Develop Admin. |
Akses baca saja ke sumber data.firebasedataconnect.googleapis.com/services.executeGraphqlRead
|