Firebase CLI, Firebase ürün ve hizmetlerini komut satırından yönetmenize ve 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ışı, hizmet ve veritabanı oluşturma, 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
'ü seçerseniz CLI'de yeni bir hizmet adı ve konumu, ayrıca mevcut bir Cloud SQL for PostgreSQL örneğini bağlayıp bağlamayacağınızı veya yeni bir örnek oluşturup oluşturmayacağınızı belirtmeniz istenir.
Mevcut bir örnek bağlıysa CLI, IAM kimlik doğrulaması ve herkese açık IP adresleri gibi uyumlu ayarları kontrol eder.
Local Emulator Suite kurulumu
CLI akışı, Data Connect emülatör dahil olmak üzere emülatörleri ayarlama seçeneği sunar.
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ğlayı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 deploy |
İşaret | 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ümesini 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 |
serviceId |
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 (ve yıkıcı olup olmadığını) gösterir ve uygulamak istediğiniz değişiklikleri sorar.
--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:migrate |
İşaret | Açıklama |
serviceId |
Belirtilen hizmetin veritabanını taşıyın. Projenizde yalnızca bir hizmet varsa serviceId atanır. | |
–-force |
İstemleri otomatik olarak kabul etme |
Diğer --only
işaretlerinde olduğu gibi, virgüllerle ayrılmış birden fazla hizmet sağlayabilirsiniz.
Şemaları katı veya uyumlu modda 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. Bu, veritabanınızdaki ve uygulama şemanız tarafından kullanılmayan öğelerin değiştirilmeden bırakıldığı anlamına gelir.
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
belirtilmezse CLI, uyumlu değişiklikleri uygular ve katı değişiklikleri yürütmeden önce sizi uyarır. 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 |
İşaret | Açıklama |
–-watch |
Şemaya 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 işlemi 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 iletebilirsiniz.
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 rollerle ilgili ayrıntılar için PostgreSQL kullanıcı rolleri başlıklı makaleyi 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 getirmeyi ancak değiştirmeyi gerektirmeyen 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 tablolar ve sıralamalar üzerinde 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. "firebasesuperuser" olarak giriş yaparak CLI'de 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 kullanıcısı) 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ırılmak üzere CLI çıkışını JSON'a geçirir.--noninteractive
ve--interactive
, gerektiğinde TTY dışı ortamların otomatik algılamasını geçersiz kılar.