Firebase CLI, Firebase projelerinizi yerel ve sürüm kontrol edilebilir bir proje dizininde yönetmenize olanak tanır. Buna, projelerinizdeki Data Connecthizmetler, bu hizmetler için bağlayıcılar ve her bağlayıcının şeması, sorgusu ve mutasyon kaynakları gibi kaynaklar dahildir. Firebase Data Connect emülatörünü yüklemenize ve çalıştırmanıza da olanak tanır. KSA, Firebase konsolunda çalışmaya kıyasla verimli bir alternatiftir.
Gizli Önizleme programı için Firebase CLI denemesini yükleme ve Data Connect ile ilgili CLI komutları hakkında talimatlar için CLI referansına bakın.
Bu referans kılavuzunda aşağıdakiler açıklanmaktadır:
firebase.json
proje yapılandırma dosyanızdaki Data Connect'ye özgü girişlerdataconnect.yaml
veconnector.yaml
'deki Data Connect yapılandırmaları.- Data Connect kullanan projeleriniz için yapılandırmanız gereken IAM rolleri.
Firebase proje yapılandırma dosyaları
firebase.json yapılandırma referansı
Projenizde bir veya daha fazla Data Connect hizmetini yapılandırmak için dataconnect
tuşlarını kullanın.
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
dataconnect.yaml yapılandırma referansı
dataconnect.yaml
dosyası, uygulama şeması kaynaklarının, bağlayıcı kaynaklarının ve veri kaynağı bağlantı bilgileri konumlarıyla ilgili yapılandırma bilgilerini depolar. Dosya, Firebase KSA için proje dizini işaretçisi olarak da kullanılır.
schemaValidation
anahtarı, şemaların dağıtım sırasında taşınması sırasında gerçekleştirilen şema doğrulama düzeyini kontrol eder. Hiçbir değer ayarlanmadığında dataconect:sql:migrate
komutunun davranışı, uyumlu değişiklikleri uygulamak ve katı değişiklikleri yürütmeden önce sizi uyarmaktır. Ayarlandığında davranış aşağıdaki gibidir:
STRICT
moduna geçin. Uygulama şemasının dağıtılabilmesi için veritabanı şeması, uygulama şemasıyla tam olarak eşleşmelidir. Data Connect şemanızda kullanılmayan tablolar veya sütunlar veritabanından silinir.COMPATIBLE
moduna geçin. Uygulama şeması dağıtılabilmesi için veritabanı şeması uygulama şemasıyla uyumlu olmalıdır. Diğer tüm değişiklikler isteğe bağlıdır. Uyumlu, şema taşıma işlemlerinin yazdığınız uygulama şemasına dayalı olduğu anlamına gelir. Veritabanınıza uygulama şemanız tarafından kullanılmayan öğeler değiştirilmeden bırakılır. Bu nedenle, dağıtım sonrasında arka uçunuzda kullanılmayan şemalar, tablolar ve sütunlar bulunabilir.
Bu dosyadaki diğer anahtarların değerleri aşağıdaki yorumlarda açıklanmıştır.
# 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]
YAML dosyası, aşağıdaki varsayılan (ancak yapılandırılabilir) dizin yapısını varsayar:
./(project root)
/dataconnect
dataconnect.yaml
/schema
*.gql
/connector
connector.yaml
*.gql
connector.yaml yapılandırma referansı
Varsayılan kimlik doğrulama modunu ve SDK oluşturma seçeneklerini yapılandırmak için connector.yaml
öğesini kullanın.
# 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
Data Connect projeleri için IAM yapılandırması
Data Connect için ayrıntılı IAM rolleri
Firebase temel rolleri ve önceden tanımlanmış roller, alt düzey Data Connect rollerine eşlenir. Eşleme için tabloya bakın.
Data Connect için IAM rolü atamalarını daha ayrıntılı bir düzeyde yönetmek istiyorsanız Google Cloud konsolunu kullanın.
IAM rolü | İzinler |
---|---|
firebasedataconnect.googleapis.com/admin Firebase Data Connect API Yöneticisi Bu rol, Firebase Data Connect API Görüntüleyicisi'ni içerir. firebasedataconnect.* etiketine eş değer.Bu, Cloud Sahibi, Cloud Düzenleyici, Firebase Yöneticisi ve Firebase Develop Yöneticisi rolleri tarafından sağlanır. |
Veriler dahil olmak üzere Firebase Data Connect API kaynaklarına tam erişim.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 Görüntüleyicisi Bu rol, Cloud Sahibi, Cloud Düzenleyici, Cloud Görüntüleyici, Firebase Yöneticisi, Firebase Görüntüleyici, Firebase Develop Yöneticisi ve Firebase Develop Görüntüleyici rolleri tarafından sağlanır. |
Firebase Data Connect API kaynaklarına salt okuma erişimi. Rol, verilere erişim izni vermez.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 Veri Yöneticisi Bu rol, Cloud Sahibi, Cloud Düzenleyici, Firebase Yöneticisi ve Firebase Develop Yöneticisi rolleri tarafından sağlanır. |
Veri kaynaklarına tam okuma ve yazma erişimi.firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead
|
firebasedataconnect.googleapis.com/dataViewer Firebase Data Connect API Veri Görüntüleyicisi Bu rol, Cloud Sahibi, Cloud Düzenleyici, Firebase Yöneticisi ve Firebase Develop Yöneticisi rolleri tarafından sağlanır. |
Veri kaynaklarına salt okuma erişimi.firebasedataconnect.googleapis.com/services.executeGraphqlRead
|