Firebase Data Connect'i kullanmaya başlama

Bu hızlı başlangıç kılavuzunda şunları öğreneceksiniz:

  • Firebase projenize Firebase Data Connect ekleyin.
  • Visual Studio dahil bir geliştirme ortamı kurma Bir üretim örneğiyle çalışacak kod uzantısı.
  • Daha sonra, size aşağıdakilerin nasıl yapılacağını göstereceğiz:
    • E-posta uygulaması için bir şema oluşturun ve üretime dağıtın.
    • Şemanız için sorgular ve dönüşümleri tanımlayın.
    • Nihai şemanızı, sorgunuzu ve verilerinizi üretime dağıtın.

Ön koşullar

Bu hızlı başlangıç kılavuzunu kullanmak için aşağıdakilere ihtiyacınız vardır.

Firebase projenize bağlanma

  1. Henüz oluşturmadıysanız bir Firebase projesi oluşturun.
    1. Firebase konsolunda şunu tıklayın: Proje ekle'yi seçtikten sonra ekrandaki talimatları uygulayın.
  2. Projenizi Blaze planına yükseltin. Bu işlem, PostgreSQL için Cloud SQL örneği oluşturmanıza olanak tanır.

  3. Firebase konsolunun Data Connect bölümüne gidin ürün kurulumu iş akışını takip edebilir.

  4. PostgreSQL için Cloud SQL veritabanınız için bir konum seçin.

  5. Daha sonra onaylamak için proje, hizmet ve veritabanı adlarını ve kimliklerini not edin.

  6. Kalan kurulum akışını takip edip Bitti'yi tıklayın.

Bir geliştirme ortamı seçme ve kurma

Data Connect, prototipleme için iki geliştirme deneyimini destekler:

  • Kotlin Android, iOS veya web geliştiricisiyseniz Aynı zamanda şemaları ve işlemleri yerel olarak tasarlayıp test etmek için VS Code geliştirme "PostgreSQL için Cloud SQL" örneğinize bağlanılıyor.
  • Web geliştiricisiyseniz, IDX Geliştirme ile PostgreSQL ile önceden yapılandırılmış bir IDX şablonu kullanarak IDX çalışma alanında Data Connect emülatörü ve hızlı başlangıç kodu içeren VS Code uzantısı hesaplayabilirsiniz. Daha fazla bilgiyi Project IDX sitesinde bulabilirsiniz.

Bu hızlı başlangıç kılavuzu, VS Code uzantısı geliştirme akışına odaklanır. Devam etmek için:

  1. Yerel projeniz için yeni bir dizin oluşturun.
  2. VS Code'u yeni dizinde açın.
  3. VSIX paketi olarak paketlenmiş uzantıyı Firebase Depolama'dan indirin.

  4. VS Code'da Görünüm menüsünden Uzantılar'ı seçin.

  5. Uzantılar paneli başlık çubuğunda menü simgesini more_horiz tıklayın ve ardından VSIX'ten yükle...'yi uygulayın.

İsteğe bağlı olarak, yerel geliştirme için yerel PostgreSQL veritabanı yükleyebilirsiniz Data Connect emülatörüyle yapabilirsiniz. Bu kurulum, bu hızlı başlangıç kılavuzunun sonunda ele alınmıştır.

Yerel projenizi oluşturun

Normal talimatları uygulayarak CLI'yi yükleyin. npm zaten yüklüyse aşağıdaki komutu çalıştırın:

npm install -g firebase-tools

Proje dizininizi oluşturma

Yerel projenizi ayarlamak için proje dizininizi başlatın.

VS Code'un sol panelindeki Firebase simgesini tıklayarak Firebase VS'yi açın Kod uzantısı kullanıcı arayüzü.

Firebase uzantısı kullanıcı arayüzünde:

  1. Oturum açtığınızdan emin olun.
  2. Firebase init'i çalıştır düğmesini tıklayın.
  3. İstemler için VS Code alt panelindeki Terminal sekmesini kontrol edin.
  4. Bu dizinde kullanılacak bir özellik olarak Data Connect 'i seçin.
  5. İstendiğinde Daha önce konsolda oluşturduğunuz Data Connect proje.

Şema oluşturma

Firebase proje dizininizdeki /dataconnect/schema/schema.gql dosyasında, kullanıcıları ve e-postaları içeren bir GraphQL şeması tanımlamaya başlayın.

Kullanıcı

Data Connect ürününde GraphQL alanları sütunlarla eşlenir. Kullanıcıların, uid, name ve address adresine e-posta gönderin. Data Connect, String ve Date olmak üzere birkaç temel veri türünü tanır.

Aşağıdaki snippet'i kopyalayın veya dosyadaki ilgili satırların açıklamasını kaldırın.

# File `/dataconnect/schema/schema.gql`

type User @table(key: "uid") {
   uid: String!
   name: String!
   address: String!
}

Varsayılan olarak Firebase Data Connect, sağlanmamışsa bir UUID id anahtarı ekler. Ancak bu durumda uid değerinin birincil anahtar olmasını istiyorsunuz. Bunu @table(key: "uid") yönergesi aracılığıyla yapabilirsiniz.

E-posta

Kullanıcılarınız olduğunda e-postaları modelleyin. Burada, gireceğiniz alanları (veya sütunları). Bu kez birincil anahtar dahil değildir çünkü yönetmesi için Data Connect hizmetine güvenebilirsiniz.

# File `/dataconnect/schema/schema.gql`

type Email @table {
   subject: String!
   sent: Date!
   text: String!
   from: User!
}

from alanının bir User türüyle eşlendiğine dikkat edin. Data Connect, bunun Email arasında bir ilişki olduğunu anlıyor ve User, bu ilişkiyi sizin adınıza yönetecek.

Şemanızı üretime dağıtma

devam etmeden önce şemanızı dağıtmanız gerekir. Şu tarihten sonra: şemanızı üretim veritabanınıza dağıttığınızda, yeni bir görebilirsiniz.

  1. Dağıtmak için Firebase VS Code uzantısını kullanabilirsiniz.
    • Uzantı kullanıcı arayüzünde, Firebase Data Connect panelinin altındaki Dağıtma.
  2. Şema değişikliklerini incelemeniz ve zararlı olabilecek öğeleri onaylamanız gerekebilir kabul edersiniz. Şunları yapmanız istenir:
    • firebase dataconnect:sql:diff kullanarak şema değişikliklerini inceleme
    • İstediğiniz değişiklikleri elde ettiğinizde, firebase dataconnect:sql:migrate

Tablolarınıza veri ekleme

VS Code editor panelinde CodeLens düğmelerini görebilirsiniz. /dataconnect/schema/schema.gql aralığındaki grafikQL türleri. Şemanızı üretime dağıttığınız için arka uçtaki veritabanınıza veri eklemek için Veri ekle ve Çalıştır (Üretim) düğmelerini kullanabilirsiniz.

User ve Email tablolarına kayıt eklemek için:

  1. schema.gql dosyasında, User tür beyanının üstündeki Veri ekle düğmesini tıklayın.
    Firebase Data Connect için Code Lens Veri Ekle düğmesi
  2. Oluşturulan User_insert.gql dosyasında, kullanabilirsiniz.
  3. Çalıştır (Üretim) düğmesini tıklayın.
    Firebase Data Connect için Code Lens Çalıştır düğmesi
  4. Oluşturulan Email_insert mutasyonunda istendiği gibi, Email tablosuna kayıt eklemek için önceki adımları tekrarlayın ve fromUid alanına kullanıcınızın uid değerini girin.

Sorgunuzu tanımlayın

Şimdi sıra işin eğlenceli kısmına, sorgulara. Geliştirici olarak GraphQL sorguları yerine SQL sorguları yazmaya alışkın olduğunuzdan bu durum başlangıçta biraz farklı gelebilir. Ancak GraphQL, ham SQL'den çok daha kısa ve tür açısından güvenlidir. VS Kodumuz uzantı, geliştirme deneyimini kolaylaştırır.

/dataconnect/connector/queries.gql dosyasını düzenlemeye başlayın. Şunu istiyorsanız: tüm e-postaları almak için bunun gibi bir sorgu kullanın.

# File `/dataconnect/connector/queries.gql`

query ListEmails @auth(level: NO_ACCESS) {
  emails {
    id, subject, text, sent
    from {
      name
    }
  }
}

Yakındaki CodeLens düğmesini kullanarak sorguyu yürütün.

Buradaki gerçekten heyecan verici bir özellik, veritabanının ilişkilerini grafik gibi ele alma olanağıdır. Bir E-posta’dafrom Kullanıcı, alanı iç içe yerleştirebilir ve kullanıcıyla ilgili bilgileri geri alabilirsiniz.

Şemanızı ve sorgunuzu üretime dağıtma

Bir geliştirme iterasyonu ile çalıştınız. Artık şemanızı, verilerinizi ve sorgularınızı Firebase uzantısı kullanıcı arayüzü veya Firebase CLI ile sunucuya dağıtabilirsiniz. Bu işlemi şemanızla (#deploy-schema) yaptığınız gibi yapabilirsiniz.

Dağıtım için Firebase VS Code uzantısını kullanıyorsanız Dağıt düğmesini tıklayın.

Dağıtıldıktan sonra işlemlerinizi konsolda da görüntüleyip çalıştırabilirsiniz. Data Connect hizmetiniz, işlemleri işlemeye hazır olacak yardımcı olur. PostgreSQL İçin Cloud SQL örneği, oluşturulan şema ve verilerin son hâlini içerir.

(İsteğe bağlı) PostgreSQL'i yerel olarak yükleme

PostgreSQL'i yerel olarak yükleyip emülatörle entegre etmek, prototipi tamamen yerel bir geliştirme ortamında oluşturmanıza olanak tanır.

Yeni bir PostgreSQL örneği yükleyebilir veya mevcut bir örneği kullanabilirsiniz.

PostgreSQL'i yükleme

Platformunuza yönelik talimatları uygulayarak PostgreSQL 15.x sürümünü yükleyin.

sırasında ana makine adı, bağlantı noktası, kullanıcı adı, şifre ve ilgili parametreler çıkışını not edin adımlarına göz atın.

Emülatörün PostgreSQL örneğinize bağlanabilmesi için:

  • Bu kurulum yapılandırma parametreleri
  • dataconnect.yaml içinde yer alan veritabanı adı ve buna karşılık gelen bir ad veritabanı ilk kullanıma hazırlanır.

Yerel PostgreSQL örneğinizi kullanma

Data Connect emülatör ayarlarını güncelleyerek mevcut bir yerel PostgreSQL örneğini kullanabilirsiniz.

firebase setup:emulators:dataconnect

İstendiğinde PostgreSQL bağlantı dizesini şu biçimde girin: postgresql://postgresusername:postgrespassword@localhost:5432/postgresdatabase?sslmode=disable

Bağlantı dizesi hakkında daha fazla bilgi için PostgreSQL belgeleri.

Yerel PostgreSQL örneğinize bağlanma

Bu yapılandırma tamamlandıktan sonra yerel veritabanınıza bağlanmak için:

  1. VS Code'da soldaki panelde Firebase simgesini tıklayarak Firebase VS Code uzantısı kullanıcı arayüzü.
  2. Yerel PostgreSQL'e bağlan düğmesini tıklayın.

Sonraki adımlar