Data Connect için Firebase CLI komut referansı

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.