Firebase KSA, Firebase ürün ve hizmetlerini komut satırından yönetip yapılandırmanıza olanak tanıyan bir araçtır.
CLI, yeni bir Data Connect projesi oluşturma, ilgili yerel çalışma dizinini başlatma, Data Connect emülatörünü ayarlama, Data Connect kaynaklarını listeleme, istemci SDK'ları oluşturma ve daha pek çok Data Connect görevi gerçekleştirmek için kullanılabilecek komutlar sağlar.
Kurulum komutları
Data Connect uygulamasını Firebase projesine ekleme
firebase init
Yeni bir yerel proje yapılandırması oluşturmak için firebase init
'ü kullanın. Bu iş akışı, dizininizde Firebase yapılandırma dosyaları oluşturur veya günceller.
firebase init
firebase init
akışı, bir hizmet ve veritabanını kurma, isteğe bağlı olarak Data Connect emülatörünü yükleme ve oluşturulan SDK'ları yapılandırma konusunda size yol gösterir.
Hizmet ve veritabanı kurulumu
Ürün kurulumu için dataconnect
öğesini seçerseniz CLI sizden yeni bir hizmet adı ve konumu girmenizi ve PostgreSQL için Cloud SQL örneğini bağlamayı veya mevcut bir örneği oluşturmayı ya da yeni bir örnek oluşturmanızı ister.
Mevcut bir örnek bağlıysa CLI, IAM kimlik doğrulaması ve genel IP adresleri gibi uyumlu ayarları kontrol eder.
Local Emulator Suite kurulumu
CLI akışı, Data Connect emülatörü de dahil olmak üzere emülatörler kurmayı önerir.
Data Connect emülatör komutları
Data Connect emülatörünü başlatma
emulators:start/exec
firebase emulators:start/exec
Data Connect emülatörünün Local Emulator Suite sürümünü start
ile etkileşimli modda veya exec
ile komut dosyası destekli, etkileşimli olmayan modda kullanın.
Şema ve bağlayıcı yönetimi komutları
Bu bölümde, şema ve bağdaştırıcıları yönetmek için kullandığınız komutlarla ilgili CLI referans bilgileri yer almaktadır.
Bu komutlarla ilgili kullanım alanları ve önerilen uygulamalar için şema ve bağlayıcı yönetimi kılavuzuna bakın.
Şema ve bağlayıcı kaynaklarını dağıtma
deploy
firebase deploy
Bu komut, firebase.json dosyasında dizine eklenen Data Connect hizmetleri için kaynakları dağıtır. Gerekirse şema taşıma işlemi gerçekleştirilir.
Komut | Açıklama | |
---|---|---|
firebase dağıtımı |
İşaretleme | Açıklama |
–-only dataconnect |
Bu proje için tüm Data Connect hizmetleri için şemaları ve bağlayıcıları dağıtın ancak diğer Firebase ürün kaynaklarını dağıtmayın. | |
–-only dataconnect:serviceId |
Belirtilen Data Connect hizmeti için şemayı ve bağlayıcıları dağıtın. | |
–-only dataconnect:serviceId:connectorId |
Belirtilen Data Connect hizmeti için tek bir bağlayıcı dağıtın. | |
–-only dataconnect:serviceId:schema |
Belirtilen Data Connect hizmeti için şemayı dağıtın. |
–-only
işaretleriyle, istediğiniz kaynak alt kümelerini dağıtmak için virgülle ayrılmış değerler iletebilirsiniz.
firebase deploy --only dataconnect:service1:schema,dataconnect:service2
Data Connect hizmetlerini, şemalarını ve bağlayıcılarını listeleme
dataconnect:services:list
firebase dataconnect:services:list
Bu komut, bir projede dağıtılan hizmetler, şemalar ve bağlayıcılar hakkında temel bilgileri yazdırır.
SQL şemalarını karşılaştırma ve taşıma
dataconnect:sql:diff
firebase dataconnect:sql:diff
Bu komut, bir hizmetin yerel şemasını ilgili Cloud SQL veritabanının mevcut şemasıyla karşılaştırır. Veritabanını yeni şemanıza taşımak için çalıştırılacak komutları yazdırır.
Komut | Açıklama | |
---|---|---|
firebase dataconnect:sql:diff |
İşaret/Parametre | Açıklama |
hizmet kimliği |
Hizmeti belirtin. Atlanırsa firebase.json'daki tüm hizmetler için fark yazdırılır. |
dataconnect:sql:migrate
firebase dataconnect:sql:migrate
Bu komut, yerel şema değişikliklerini bir hizmetin Cloud SQL veritabanına uygular.
Varsayılan dataconnect.yaml
dosyasıyla yeni bir yerel Data Connect projesi oluşturduğunuzda dataconect:sql:migrate
komutunun davranışı, değişiklikleri uygulamadan önce gerekli değişiklikleri ve ardından isteğe bağlı değişiklikleri yapmanızı istemek olur. Şemi sıkı veya uyumlu modda taşıma bölümünde açıklandığı gibi, dataconnect.yaml
yapılandırmanızı güncelleyerek bu davranışı isteğe bağlı değişiklikleri her zaman dahil edecek veya yok sayacak şekilde değiştirebilirsiniz.
Etkileşimli ortamlarda CLI, her taşıma SQL ifadesini (yıkıcı olup olmadığını) görüntüler ve uygulamak istediğiniz değişiklikleri ister.
--force
işaretini iletmek, tüm istemleri kabul etmekle aynıdır.
Etkileşimli olmayan ortamlarda:
--force
olmadan yalnızca bozulmaya yol açmayan değişiklikler yapılır. Yıkıcı değişiklikler varsa CLI, herhangi bir değişiklik yapılmadan iptal edilir.--force
ile tüm değişiklikler yapılır. Bu işlem, bozucu değişiklikler içeriyorsa--force
işareti sağlanmadığı sürece değişiklikler yazdırılır ve devam etmek isteyip istemediğiniz sorulur.
Komut | Açıklama | |
---|---|---|
firebase dataconnect:sql:migration |
İşaret | Açıklama |
hizmet kimliği |
Belirtilen hizmetin veritabanını taşıyın. ServiceId, projenizde yalnızca bir hizmet varsa tahmin edilir. | |
–-force |
İstemleri otomatik olarak kabul edin. |
Diğer --only
işaretlerinde olduğu gibi, virgüllerle ayrılmış birden fazla hizmet sağlayabilirsiniz.
Katı veya uyumlu moddaki bir şemayı taşıma
Data Connect şema taşıma işlemlerinde iki farklı şema doğrulama modu vardır: katı ve uyumlu. Katı mod doğrulaması, uygulama şemasının dağıtılabilmesi için veritabanı şemasının uygulama şemasıyla tam olarak eşleşmesini gerektirir. Uyumlu mod doğrulaması, veritabanı şemasının uygulama şemasıyla uyumlu olmasını gerektirir. Diğer bir deyişle, veritabanınızda bulunan ve uygulama şemanız tarafından kullanılmayan öğeler değiştirilmeden bırakılır.
Bu şema doğrulama modları ve şema taşımayla ilgili en iyi uygulamalar şema ve bağlayıcı yönetimi kılavuzunda ele alınmıştır.
Doğrulama modu, dataconnect.yaml
dosyanızdaki schemaValidation
anahtarı kullanılarak tanımlanır. schemaValidation
belirtilmemişse CLI, uyumlu değişiklikleri uygular ve katı değişiklikler yapmadan önce sizi ister. Yapılandırma referansı bölümüne bakın.
SDK komutları
SDK oluşturma
dataconnect:sdk:generate
firebase dataconnect:sdk:generate
Bu komut, connector.yaml dosyasında tanımlanan, yazılmış SDK'ları oluşturur.
Web SDK'ları, Android SDK'ları ve iOS SDK'larıyla çalışmayla ilgili kılavuzları da inceleyin.
Komut | Açıklama | |
---|---|---|
firebase dataconnect:sdk:generate |
İşaretleme | Açıklama |
–-watch |
Şemanıza ve bağlayıcı GQL dosyalarınıza değişiklik kaydettiğinizde işlemin devam etmesini sağlar ve yeni SDK'lar oluşturur. Oluşturma başarısız olursa hatalar stdout'a yazdırılır, oluşturulan kod değiştirilmez ve komut çalışmaya devam eder. |
|
–-only connectorId:platform |
Yalnızca tek bir platform ve tek bir bağlayıcı için SDK oluşturun. |
–only
işaretleriyle virgülle ayrılmış değerler aktarabilirsiniz.
firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin
Cloud SQL yönetim komutları
Cloud SQL için SQL rolleri verme
dataconnect:sql:grant
firebase dataconnect:sql:grant
Data Connect, Cloud SQL'de barındırılan kendi PostgreSQL örneğinizin üzerinde çalışır. Bazı durumlarda, Data Connect uygulamalarınız tarafından oluşturulan verileri sorgulamak veya güncellemek için doğrudan veritabanınıza erişmek isteyebilirsiniz. Bunu yapmak için bu bölümde tanımlanan rollerden birini gerekli kullanıcıya veya hizmet hesabına vermeniz gerekir.
Verilen roller hakkında ayrıntılı bilgi için PostgreSQL kullanıcı rolleri sayfasını inceleyin.
Rol | SQL Rolü | İzinler | Kullanım | Verilebilir |
---|---|---|---|---|
okuyucu | firebasereader_<db_name>_<schema_name> |
Veritabanına salt okuma erişimi. Belirtilen şemadaki tüm tablolarda SELECT işlemleri gerçekleştirebilir. |
Veri alınması gereken ancak değişiklik yapmayan kullanıcılar veya hizmetler için idealdir. | Evet |
yazıcı | firebasewriter_<db_name>_<schema_name> |
Veritabanına okuma ve yazma erişimi. Şemadaki tüm tablolarda SELECT , INSERT , UPDATE , DELETE ve TRUNCATE işlemlerini gerçekleştirebilir. |
Veritabanı içindeki verileri değiştirmesi gereken kullanıcılar veya hizmetler için uygundur. | Evet |
sahibi | firebaseowner_<db_name>_<schema_name> |
Şema sahibi. Şemadaki tüm tablo ve sıralarda tüm ayrıcalıklara sahiptir. |
Bu rol, IAM roles/cloudsql.client rolüyle birlikte veritabanında taşıma işlemi gerçekleştirme izni verir. Örneğin, firebase dataconnect:sql:migrate numarayı aradığınızda. |
Evet |
süper kullanıcı | cloudsqlsuperuser |
Veritabanında tam ayrıcalıklara sahip yerleşik süper kullanıcı rolü. Sahip izinlerine ek olarak şema oluşturabilir, şema bırakabilir, uzantı yükleyebilir ve diğer tüm yönetim görevlerini gerçekleştirebilir. CLI'de "firebasesuperuser" olarak giriş yapılarak erişilir. |
Uzantı yüklemek, ilk şemayı oluşturmak ve atanabilir SQL rollerinden herhangi birini diğer kullanıcılara vermek için gereklidir. Yönetici olmayan bir kullanıcının süper kullanıcı ayrıcalıklarına ihtiyacı varsa taşıma işlemi başarısız olur ve kullanıcıdan veritabanı yöneticisinden (ör. roles/cloudsql.admin ayrıcalığına sahip bir kullanıcı) ayrıcalıklı SQL komutlarını çalıştırmasını istemesi istenir. |
roles/cloudsql.admin kullanıcılarına verilir ve doğrudan Firebase CLI'den verilemez |
Komut | Açıklama | |
---|---|---|
firebase dataconnect:sql:grant |
İşaret/Parametre | Açıklama |
-R, --role rol |
Verilecek SQL rolü (sahip, yazar veya okuyucu) | |
-E, --email email_address |
Rolün verileceği kullanıcının veya hizmet hesabının e-posta adresi. |
Genel seçenekler
Aşağıdaki genel seçenekler tüm komutlar için geçerlidir:
--json
, diğer araçlar tarafından ayrıştırmak için CLI çıkışını JSON olarak değiştirir.--noninteractive
ve--interactive
, gerektiğinde TTY dışı ortamların otomatik algılamasını geçersiz kılar.