Data Connect için Firebase CLI komut referansı

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.